【发布时间】:2010-06-16 01:51:30
【问题描述】:
我正在“升级”一个 MVC 应用程序。以前,DAL 是模型的一部分,作为使用标准 LINQ to SQL 查询的一系列存储库(基于实体名称)。现在,它是一个单独的项目,使用 PLINQO 生成。
由于 PLINQO 会根据实体的属性生成查询扩展,因此我开始直接在我的控制器中使用它们...并一起消除了存储库。
它工作正常,这更多是根据您的经验提出的问题,我应该继续走这条路还是应该重建存储库(使用 PLINQO 作为存储库文件中的 DAL)?
仅使用 PLINQO 生成的数据上下文的一个好处是,当我需要访问数据库时,我只需对数据上下文进行一次引用。在存储库模式下,当我需要数据访问时,我必须引用每个存储库,有时需要在单个控制器上引用多个存储库。
我在存储库中看到的最大好处是恰当命名的查询方法(即 FindAllProductsByCategoryId(int id) 等...)。使用 PLINQO 代码,它是 _db.Product.ByCatId(int id) - 这也不错。
两者我都喜欢,但是当查询使用谓词时,它会变得更“鹞”。我可以将其汇总到存储库查询方法中。但是在 PLINQO 代码上,它类似于 _db.Product.Where(x => x.CatId == 1 && x.OrderId == 1);我不太确定我是否喜欢在我的控制器中使用这样的代码。
您对此有何看法?
【问题讨论】:
标签: database asp.net-mvc-2 repository plinqo