EF Code First 初始化數據庫
阿新 • • 發佈:2018-07-18
contex migration inittab type ngs mod ring 使用 目的
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
數據庫顯示已創建表
EF Code First 初始化數據庫