2013-01-04 19 views
1

我遇到了EntityFramework 5(VS 2012)的這個問題。我有以下的項目,我的解決方案:如何在不添加對包含完整EntityFramework模型的項目的引用的情況下將實體展示給Web項目?

我第一次使用數據庫和設計師

  1. 數據。我的實體模型和實體在哪裏。
  2. 安全。安全的業務邏輯在哪裏。
  3. 網頁。這個Web UI

安全有參考數據所以它可以使用該模型和實體從數據庫中檢索數據。在安全我有一個方法返回一個列表MenuOptions(這是項目數據中的一個實體)到UI(Web項目)。然後在Web項目中,我想迭代MenuOptions的列表以構建菜單。問題是我不想在我的Web項目中添加對Data的引用,以便能夠訪問實體。那麼,我怎樣才能使Data中的實體可見到Web而無需添加對整個項目的引用? (我只希望實體可以被UI訪問)。

回答

1

將dll(或項目)中的實體分開,將DbContext繼承的類和實體映射配置放在另一個實例中。 這樣你就可以在不同的項目中分發你的實體DLL而不共享數據庫訪問項。

+0

謝謝,阿圖羅。如果我這樣做,我該如何使用DbContext配置我的項目,以便知道這些實體現在處於單獨的項目中?所以當我通過模型設計器添加一個新的實體時,它知道實體類必須放置在單獨的項目中? –

+0

您的數據項目(DbContext和映射配置)應引用您的實體項目(dll)。 您的安全項目引用了數據和實體項目。 –

+0

即使答案以某種方式引導我到正確的解決方案,我想離開這裏的帖子的URL,給了我實際做我需要的分離的必要步驟:http://www.codeproject.com/Articles/133689 /如何對獨立,自我跟蹤實體到他們,嗷 –

相關問題