將存儲庫模式與實體框架一起使用(mvc店面)

asp.net asp.net-mvc domain-driven-design entity entity-framework

任何人都可以伸出援手嗎?我一直在觀看MVC店面的視頻,並使用這些技術創建了我自己的網站,即DDD,Repository模式,但我希望使用Entity Framework。

在Interfaces中它返回IQueryable但是我應該返回ObjectQuery而不是Entity Framework嗎? - 我將使用LINQ。

同樣在存儲的示例中,它是這樣的:IQueryable <Category> GetCategories();

同樣在MVC存儲中,Category類是一個構建的實體類(標準類),但是使用Entity Framework,這些類是在對像上下文中預先構建的 - 它們不是嗎?

所以我應該建立它們?

我有點困惑。如果有人有任何有用的示例或代碼,那將非常有幫助。

正如我所說,我使用linq2sql觀看了MVC店面的視頻,但我真的想使用Entity Framework。

有任何想法嗎?

謝謝

鍛冶匠的工作

熱門答案

讓我一次回答一個問題:

您的存儲庫應該返回IQueryable <T>, 而不是 ObjectQuery。原因是存儲庫模式的整個目的是抽像出數據存儲的細節。這允許您在對控制器進行單元測試時替換模擬存儲庫。如果您使存儲庫返回ObjectQuery,那麼您不會抽像出實體框架。另一種說法是,您的存儲庫的用戶不應該盡可能地知道正在進行O / R映射的實體框架。

為了在Stack Overflow中使用段落文本中的大於和小於符號,您必須像在HTML中那樣對它們進行轉義,即:

&lt;

您不需要在代碼塊中執行此操作;在代碼塊中,您只需鍵入小於/大於符號。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因