EF Code First 初始化数据库

EntityFramework 在用过一段时间之后,只要是.net环境,就难免不想起它。它留给我手指的记忆强迫我继续使用。。。

首先新建一个类库,然后新建DataContext类,这个类是主要用来对数据库操作的。(必须要引用EF)

public class DataContext:DbContext
{
        public DataContext()
            :base("default")
        {
        }
        public DbSet<UserInfo> UserInfo { get; set; }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Add(new DecimalPrecisionAttributeConvention());
            base.OnModelCreating(modelBuilder);
        }
        public int Commit()
        {
            return SaveChanges();
        }
}

 然后如果类库跟Web程序隔离了,那么就需要配置web.config而不是Appconfig

<configuration>
  
  
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" 
    type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
    requirePermission="false" /> </configSections> <connectionStrings> <add name="default" connectionString="Data Source=.;Initial Catalog=Demo;User ID=sa;Password=123456;" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>

还有一个实体的结构,BaseEntity里面是定义了一个Guid,看自己需要吧,商业项目都需要guid的。

public class UserInfo: BaseEntity
{
        public string UserName { get; set; }
        public string Password { get; set; }
}

 然后在程序包管理控制台里,输入 Enable-Migration,出现如下提示:

大概就是打开了数据迁移,然后

add-migration initTable

会新增一个migration,就是数据迁移类。每次对数据库修改后都要Add-migration,对数据库的更改记一次版本,来达到版本控制的目的。

最后提交到数据库

update-database

数据库显示已创建表

猜你喜欢

转载自www.cnblogs.com/ranke110/p/9326814.html