Entity Framework Codefirst的配置步骤:
(1) 安装命令: install-package entityframework
(2) 创建实体类,注意virtual关键字在导航属性中的用法
(3) 创建DbContext类,为每个entity set创建一个DbSet;
指定一个连接字符串构造函数中的 base("AccountContext") 。
设置表的单数形式
public class AccountContext:DbContext { public AccountContext():base("AccountContext") //web.config文件数据库连接字符串名称 { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { //指定单数形式的表名 modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); } }
(4)在Web.config中配置Entity Framework
配置连接字符串
(5)创建Initializer类, 使用EF初始化数据库,插入示例数据
public class AccountInitializer:DropCreateDatabaseIfModelChanges<AccountContext> { /// <summary> /// 初始化数据库,需要在配置 文件中配置EnityFramework /// </summary> /// <param name="context"></param> protected override void Seed(AccountContext context) { //初始化数据 var sysUsers = new List<SysUser> { new SysUser {UserName="Tom",Password="1", Email="tom@accp.com" }, new SysUser() {UserName="Jerry", Password="2",Email="Jerry@accp.com" } }; sysUsers.ForEach(s => context.SysUsers.Add(s)); context.SaveChanges(); } }
(6)修改web.config, 通知EF使用我们刚刚写好的initializer类
<entityFramework> <!-- context 配置节中, type 的值对应 (context class的完整描述,程序集) databaseInitializer 配置节中 , type 的值对应 (initializer class 的完整描述,程序集)--> <contexts> <context type="ResTest.DAL.AccountContext,ResTest"> <databaseInitializer type="ResTest.DAL.AccountInitializer,ResTest"></databaseInitializer> </context> </contexts> </entityFramework>
至此 配置完成!