EFCore2.0 Code First基本使用
前言
在網上找EFCore Code First相關的文章,很多都是基於core 1.0版本的,覺得有必要自己實踐下2.0。所以,擼起袖子干吧!~
1.新建控制台項目
2.打開程序包管理器控制台。工具->NuGet包管理器->程序包管理器控制台
Install-Package Microsoft.EntityFrameworkCore Install-Package Microsoft.EntityFrameworkCore.SqlServer Install-Package Microsoft.EntityFrameworkCore.Tools
依次安裝以上三個Nuget包
3.新建User類:
public class User { public int Id { get; set; } [MaxLength(30), Required] public string Account { get; set; } [MaxLength(30), Required] public string Password { get; set; } }
public class TestDbContext : DbContext { public DbSet<User> User { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer( "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TestDB;Data Source=.");//數據庫連接字符串,其中TestDB是數據庫名稱 } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<User>().HasIndex(u => u.Account).IsUnique(); } }
4.初始化,生成數據庫
在程序包管理器控制台依次執行以下命令
Add-Migration Init //其中Init是你的版本名稱 update-database Init //更新數據庫操作 init為版本名稱
執行完以上操作后,數據庫就創建成功了。
4.數據庫修改
在我們實際開發的過程中,經常性的會修改字段,那在code First中如何處理呢?
實例:將User類的Password的長度修改為15
public class User { public int Id { get; set; } [MaxLength(30), Required] public string Account { get; set; } [MaxLength(15), Required] public string Password { get; set; } }
控制台運行:
Add-Migration EditPwdLength //同上,不在解釋 update-database EditPwdLength
運行成功后,刷新數據庫查看