Entity Framework Codefirst的配置步骤

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>

至此 配置完成!

posted @ 2018-02-03 12:11  高原&秃鹫  阅读(491)  评论(0编辑  收藏  举报