将存储库模式与实体框架一起使用(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;

您不需要在代码块中执行此操作;在代码块中,您只需键入小于/大于符号。




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因