【发布时间】:2009-05-11 08:52:58
【问题描述】:
按照 Rob 的做法,我拥有由 Linq to SQL 向导生成的类,然后是那些作为 POCO 的类的副本。在我的存储库中,我返回这些 POCO 而不是 Linq to SQL 模型:
从 DataContext.Customer 中的 c 返回 其中 c.ID == id 选择新的 MyPocoModels.Customer { ID = c.ID, Name = c.Name }我知道这样做的好处是 POCO 模型可以更容易地实例化,因此这将使我的代码更具可测试性。
我现在正在从 Linq 迁移到 SQL 再到 Entity Framework,而且我已经读完了一本 EF 书。通过从我的存储库而不是 EF 实体返回 POCO,我似乎会失去很多好处。
我还没有真正接受单元测试,所以我觉得我浪费了很多时间来创建这些额外的 POCO 并编写代码来填充它们,而我似乎获得的只是可测试的代码,但我由于无法跟踪我的对象,也会失去 EF 的许多好处。
对于所有这些 ORM/Repository 东西的相对新手有什么建议吗?
安东尼
【问题讨论】:
-
刚刚意识到我错过了帖子的第一行,我想说的是我一直在关注 Rob Conery 的 Storefront 系列,并开始在我的小项目中使用他的存储库模式。跨度>
标签: entity-framework orm repository-pattern