阅读答案后,请在问题末尾阅读我的更新:
我正在尝试应用Rob Conery在 他的博客“ MVC Storefront ”下描述的存储库模式。但是我想问一下我在应用这种设计模式之前遇到的一些问题。
Rob 制作了自己的“模型”并使用一些 ORM“LINQ to SQL 或实体框架 (EF)”将他的数据库映射到实体。
然后他使用了自定义存储库,在这些存储库中,他在 ORM和他的类
IQueryable<myModel>
之间进行了某种 映射或“解析” 。Entities
Model
我在这里问的是:
是否可以在 ORM
Entities
和我的模型“classes
”之间进行自定义映射并仅加载我想要的属性?我希望这一点很清楚。
POCO 更新
**
这是我在许多建议和许多尝试后决定的:
**
毕竟,关于 Rob Conery 先生的意见,我有更好的解决方案:
- 我将模型构建为“
POCO
s”并将它们放在我的“模型层”中,因此它们与“edmx”文件无关。 - 建立我的存储库来处理这个“
POCO
”模型依赖于“DbContext
” - 然后我创建了一个“
ViewModels
”来从这些存储库中获取视图所需的信息。
所以我不需要在“EF 模型”和“我的模型”之间再添加一层。我只是稍微扭曲我的模型并强制 EF 处理它。
正如我所见,这种模式比 Rob Conery 的模式要好。