2013-10-11 32 views
0

我的項目有3個層次:Asp.net MVC 4如何在另一個項目中啓用DbContext的遷移?

  • Project.Core:實體和庫接口。
  • Project.Data:DbContext,存儲庫實現和UnitOfWork實現。有參考的核心。
  • Project.UI:Views,Controllers,ViewModels。參考代碼和數據。

我使用MVC 4與實體框架5和代碼優先方法。

因此,可以在Project.UI上啓用POCOs遷移?

我嘗試運行:

啓用的遷移Project.Data.MyDbContext

但收到消息:

上下文類型 'Project.Data.MyDbContext' 是沒有在程序集「Project.UI」中找到。

回答

4

你需要確保你正在運行在包含您的DbContext項目啓用的遷移,所以你不能在UI項目運行它(否則它需要從當前選定一個如該項目的相對路徑。./project.data)

enter image description here

設置默認項目Project.Data

然後運行:

enable-migrations

0

您還可以將Project.Data.DLL包含到Project.ui中,這是我們採取的方法。我們還將視圖封裝到類似的DLL中以供跨多個項目使用

0

我建議您在解決方案中爲數據播種創建單獨的項目。然後,您可以在種子項目中包含對Project.Data.DLL的引用,並從那裏運行遷移(這將是合適的)。

相關問題