前面几节,使用的都是通过EF Code First创建的新数据库,接下来,将开始使用已存在的数据库。
1、使用配置文件设置数据库连接
App.config
数据库连接字符串的name与Data中NorthwindContext.cs类名相同
Data中NorthwindContext.cs
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 using System.Data.Entity; 7 8 using Northwind.Domain.Entities; 9 using Northwind.Domain.Mapping; 10 11 namespace Northwind.Data 12 { 13 public class NorthwindContext : DbContext 14 { 15 public DbSetCategories { get; set; } 16 public DbSet Products { get; set; } 17 public DbSet Suppliers { get; set; } 18 19 protected override void OnModelCreating(DbModelBuilder modelBuilder) 20 { 21 modelBuilder.Configurations.Add(new CategoryMap()); 22 modelBuilder.Configurations.Add(new ProductMap()); 23 modelBuilder.Configurations.Add(new SupplierMap()); 24 } 25 } 26 }
执行成功后,创建的数据库如下图:
2、使用构造函数指定数据库
NorthwindContext.cs
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 using System.Data.Entity; 7 8 using Northwind.Domain.Entities; 9 using Northwind.Domain.Mapping; 10 11 namespace Northwind.Data 12 { 13 public class NorthwindContext : DbContext 14 { 15 public NorthwindContext() 16 { } 17 18 public NorthwindContext(string databaseName) 19 : base(databaseName) 20 { 21 22 } 23 24 public DbSetCategories { get; set; } 25 public DbSet Products { get; set; } 26 public DbSet Suppliers { get; set; } 27 public DbSet Users { get; set; } 28 public DbSet Roles { get; set; } 29 30 protected override void OnModelCreating(DbModelBuilder modelBuilder) 31 { 32 modelBuilder.Configurations.Add(new CategoryMap()); 33 modelBuilder.Configurations.Add(new ProductMap()); 34 modelBuilder.Configurations.Add(new SupplierMap()); 35 modelBuilder.Configurations.Add(new UserMap()); 36 modelBuilder.Configurations.Add(new RoleMap()); 37 } 38 } 39 }
Program.cs
using (NorthwindContext db = new NorthwindContext("Northwind")) { }
3、使用构造函数指定数据库连接字符串
App.config
1 23 4 5 6 78 109
NorthwindContext.cs
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 using System.Data.Entity; 7 8 using Northwind.Domain.Entities; 9 using Northwind.Domain.Mapping; 10 11 namespace Northwind.Data 12 { 13 public class NorthwindContext : DbContext 14 { 15 public NorthwindContext() 16 : base("name=NorthwindConnectionString") 17 { } 18 19 public DbSetCategories { get; set; } 20 public DbSet Products { get; set; } 21 public DbSet Suppliers { get; set; } 22 public DbSet Users { get; set; } 23 public DbSet Roles { get; set; } 24 25 protected override void OnModelCreating(DbModelBuilder modelBuilder) 26 { 27 modelBuilder.Configurations.Add(new CategoryMap()); 28 modelBuilder.Configurations.Add(new ProductMap()); 29 modelBuilder.Configurations.Add(new SupplierMap()); 30 modelBuilder.Configurations.Add(new UserMap()); 31 modelBuilder.Configurations.Add(new RoleMap()); 32 } 33 } 34 }