Entity Framework Codefirst的配置步骤

时间:2022-02-11 06:56:41

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>

至此 配置完成!