NetCore 最近很火熱。筆者想把本身之前的舊項目遷移到NetCore平臺。sql
先用EFcore的DBFirst根據數據庫建立實體類,而後加入數據庫版本控制功能也就是EFcore的CodeFirst部分。數據庫
引入包 Microsoft.EntityFrameworkCore 和 Microsoft.EntityFrameworkCore.SqlServerui
Install-Package Microsoft.EntityFrameworkCore Install-Package Microsoft.EntityFrameworkCore.SqlServer
這個是由於整個項目編譯不成功緻使的,要確保項目能正常編譯成功
Add-Migration Init -c EcolDbContext
先 DBFirst一下
Scaffold-DbContext "Data Source=(localdb)\v11.0;Initial Catalog=master;Integrated Security=True;" -OutputDir Models
很簡單,但有時會報錯:Build failed.再 CodeFirst一下
-c 是指定 DbContext 根據自身狀況能夠不加
生成的項目目錄以下
![](http://static.javashuo.com/static/loading.gif)
20181016075837_Init.cs 是指當時生成的日期和 Add-Migration Init的 Init組合而成 spa
在項目數據庫裏執行一下語句。
CREATE TABLE [dbo].[__EFMigrationsHistory] (
[MigrationId] NVARCHAR (150) NOT NULL,
[ProductVersion] NVARCHAR (32) NOT NULL
);
手動插入數據
insert into ( MigrationId ,ProductVersion) values ('20181016075837_Init' ,'init')
這樣之後就能夠用 CodeFirst模式升級數據庫了
如今簡單演示下如何添加表
新建類TestTableData
1 public class TestAddData 2 { 3 public long Id { get; set; } 4 5 public string Name { get; set; } 6 }
在DBContext類里加
public virtual DbSet<TestAddData> TestAddData { get; set; }
執行 包管理命令版本控制
Add-Migration AddTable -c EcolDbContext
update-database -Context EcolDbContext
其餘修改也同樣code
但願對你們有幫助,謝謝觀看blog