.Net Core & Entity Framework 已有數據庫,命令行創建Dbcontext和Models 和通過codefirst更新數據庫。

步驟一:

用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就可以更新數據庫了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章