Entity Framework Codefirst的配置步骤

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 高原&秃鹫 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值