步驟一:
用NuGet添加Microsoft.EntityFrameworkCore.SqlServer
步驟二:
用NuGet Console輸入:Scaffold-DbContext 'Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Dbname' Microsoft.EntityFrameworkCore.SqlServer -ContextDir Data -OutputDir Models
完成上述兩個步驟後,就生成了Data和Models兩個文件夾。Data下生成Context文件,Models爲數據庫表對應的類。
步驟三:
實現命令行Update-Database更新數據庫。
(1)連接字符串的配置:
在appsettings.json中添加數據庫連接
{
"ConnectionStrings": {
"BloggingDatabase": "Server=(localdb)\\mssqllocaldb;Database=Dbname;Trusted_Connection=True;"
}
}
(2)在Startup.cs文件的如下方法中添加如下方法
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ContosoUniversity2Context>(options =>
options.UseSqlServer(Configuration.GetConnectionString("BloggingDatabase")));
}
(3)修改Data文件夾下的Context文件,主要改變是使用下面的構造方法,將原Configure數據庫練連接方法刪除。
public ContosoUniversity2Context(DbContextOptions<ContosoUniversity2Context> options)
: base(options)
{
}
(4)命令行完成同步:
1.NuGet命令行工具輸入:Add-Migration T1
2.NuGet命令行工具輸入:Add-Migration T2
3.將生成的T1 Migration 文件刪除掉。原因是T1生成的Miguration文件是創建數據庫表。
以上步驟就實現命令行Update-Database更新數據庫.
之後項目的Models發上改變時,先運行Add-Migration vn,再運行Update-Database就可以更新數據庫了。