前言 在網上找EFCore Code First相關的文章,很多都是基於core 1.0版本的,覺得有必要自己實踐下2.0。所以,擼起袖子乾吧!~ 1.新建控制台項目(這裡就不放圖了) 2.打開程式包管理器控制台。工具 NuGet包管理器 程式包管理器控制台 依次安裝以上三個Nuget包 3.新建U ...
前言
在網上找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
運行成功後,刷新資料庫查看
好了。到這裡基本就是使用EF Core CodeFirst的基本操作了。其他高深的操作,LZ也在學習!~權當記錄吧。
參考
問題
1.在實際生產環境中,我們是不可能直接在本地去更新資料庫的,需要生成Sql腳本,在伺服器上運行。至於如何生成腳本,LZ也還沒找到,希望大佬們能給方案。