2017-06-19 26 views
0

我正在使用實體框架和洋蔥體系結構,使我的網站可維護和持久。現在,當我跟着一個特定的洋蔥架構例如,我結束了:實體框架配置文件編譯錯誤

  1. 域(實體和域接口)
  2. 庫(IRepo和回購等)
  3. 服務(建立UI和回購之間的鏈接,以尊重的SoC(如果我沒有得到它)​​等)
  4. UI(在我的情況下,MVC項目)

現在我已經從我的情境分開我的實體框架的實體。實體進入而上下文進入存儲庫。這意味着當我啓用遷移時,configuration.cs文件已被添加到Domain中的遷移文件夾中,但由於Domain沒有依賴關係,因此我無法訪問我的上下文(它位於更高層,因此會違反洋蔥體系結構規則(依賴不能向外))。

  • 我應該將我的migrations文件夾移動到存儲庫嗎?
  • 我應該在enable-migrations存儲庫中嗎?
  • 我的configuration.cs文件非常薄,是否必須保留它(它確實保持AutomaticMigrationsEnabled爲false,這讓我懷疑這一點,似乎是懶惰的事情,但誰知道)?

感謝您的幫助!

回答

1

您應該用盡可能少的依賴關係越好,這樣您可以:

  • 創建一個新的項目,並搬到那裏只有背景和enable-migrations在這個項目上。通過這樣做,您可以將存儲庫與上下文分離。
  • 保持原樣,並在存儲庫項目中使用enable-migrations,就像您所說的那樣。

我在我的洋蔥建築項目中使用了第一個選項。

+0

好的,謝謝,所以我猜上下文將在'Domain'和'Repository'之間的項目中? –

+1

是的,這是一種選擇。我正在使用它。 –