EF code first初始化创建数据库初探

1、首先,写模型类如下:


2、创建数据库上下文


注意:要在初始化时写上Database.Initialize(true);这里为true就是不管之前是否运行,都将删除重建,不写这句,不会触发后面数据测试的Seed方法。

3、创建初始测试类,为数据库初始化时调用,如下:


  注释:这里有三种模式建库,上面写的是每次都删除数据库重建,这在开发测试的时候是比较有用的,另外还有:CreateDatabaseIfNotExists和DropCreateDatabaseIfModelChanges,它们分别对应的是如果不存在就创建数据库和如果模型更改就重建数据表。

4,在程序中应用,就需要在程序开始运行的入口函数中调用 Database.SetInitializer(new TestDataBase());进行初始化建库。实例如下:


5、配置文件里加入以下内容:

 <connectionStrings>
    <add name="DataBaseContext" providerName="System.Data.SqlClient" connectionString="Data Source=TOMSUN-PC;database=DiaryDB;uid=sa;pwd=sxslll;" />
  </connectionStrings>

注意:name的值必须和数据库上下文的类一致,如果不一致,必须在上下文中指定,如下

 public DataBaseContext() : base("DbContext")
        {
            Database.Initialize(true);
        }

上下文中是DbContext,则配置文件里的name也需要改变为DbContext,其它服务器写你自己的服务器名,数据库名自己随意定义,用户名和密码改成你自己的就ok。

  最后,程序运行成功后就会生成数据库以及相关表。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值