如何在 Servcie Fabric 項目中運行 Entity Framework 的 Enable-Migrations 命令

當我們在創建 Service Fabric 項目后,想要利用 Entity Framework 的 CodeFrist 將數據插入數據庫時可能會遇到以下問題。

問題描述

使用 Visual studio 中的 nuget 管理將 Entity Framework 引入 Service Fabric 項目后,開啟 Enable-Migrations,會提示 Application 項目沒有安裝 EntityFramework。

當我們嘗試在 Application 中引入 EntityFramework 時報錯:

Install-Package : Failed to add reference. The package 'EntityFramework' tried to add a framework reference to 'System.ComponentModel.DataAnnotations' which was not found in the GAC. This is possibly a bug in the package. Please contact the package owners for assistance.


解決方法

我們以 Stateless 類型的 Service Fabric 項目為例:

1.首先要確保在執行 Enable-Migrations 的時候,設定的 Default project 為 stateless project (如下面的例子:MyStateless ):


該 Service Fabric 項目的結構如下:


2.保證 stateless project (例如:MyStateless) 已被設置為 Single startup Project:


3.由于 Enable-Migrations 依賴于 MyDbContext Class,因此需要建立了一個 xxx.cs 的文件,在這個文件中對該類進行定義:


4.運行 Enable-Migrations 命令時要指定 ContextTypeName 為之前 xxx.cs 文件中的 MyDbContext Class,例如:Enable-Migrations -contexttypename MileyClass.MyDbContext。


查看運行結果可以點擊此處

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 離開寢室,踏上了回家的路途 ,莫名的帶著一股新奇。 剛一下樓,疾馳而過的風出租車眼角飄到到我,立刻嘟嘟的,詢問我去...
    實在想不出昵稱丶閱讀 153評論 0 0
  • 什么是銷售什么? 銷售銷售銷的是什么?銷的是什么,售的又是什么呢?買的是什么,賣的又是什么呢? 所謂銷售中的銷呢指...
    銘葉_dd4c閱讀 1,022評論 0 0