2012-04-23 63 views
4

我有一個奇怪的情況。我以可視方式創建了一個數據模型,並從中生成了一個數據庫。該項目被兩個項目引用:使用實體框架類沒有數據庫連接

  • ASP .NET應用程序。
  • WinForms應用程序。

ASP .NET應用程序直接處理數據庫,而我需要WinForms應用程序通過Web應用程序與數據庫進行交互。

我創建了一個名爲API.aspx的頁面,並使用HTTP POST發送值並以XML格式獲取結果。

但是,由於WinForms應用程序仍然需要使用數據模型類,所以我在運行時遇到了問題,而沒有創建數據庫對象。

在這種情況下使用什麼策略?

回答

2

如果你已經實現了鬆散的耦合(See the Repository Pattern)你的代碼,那麼你可以創建一個數據庫存根將返回虛擬數據(或內存中的數據),直到你準備在實際EF框架堵塞。

這通常是很好的做法,建立清楚的關注點分離

+0

確實EF提供這樣的場景中任何內置的工具?我試着看代碼優先,看看是否給我更多的靈活性來處理數據庫上下文類或內存中的類。 – 2012-04-23 15:00:04

+0

@RaheelKhan不,這種情況實際上將ORM抽象出來了。但是,如果您真的想要,您可以在上下文之外使用POCO。這個問題只會出現在你想與d​​b進行交互的地方......下面是一篇關於嘲笑EF上下文的文章:http://www.nogginbox.co.uk/blog/mocking- entity-framework-data-context – 2012-04-23 15:11:19

+0

給匿名downvoter。你能解釋一下你不喜歡什麼,這樣我就可以適當地調整我的答案嗎? – 2012-04-23 16:07:36