asp.net-mvc – 使用LINQ的多个或单个存储库

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 使用LINQ的多个或单个存储库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在阅读Professional ASP.NET MVC 1.0书中的第11章(可测试设计模式).在本章的示例中,数据访问被分成许多存储库:IOrderRepository,IProductRepository等.这些都是有意义的:单个数据库的单个存储库.

但是,当您考虑表之间的链接时,这会对我造成一些影响:订单包含许多产品.当Order类由LINQ-to-sql创建时,订单类将具有Products集合,该集合枚举与该订单相关的所有产品.因此,通过使用此集合,我们绕过了ProductsRepository.

因此,在模拟时,我不仅要模拟OrderRepository和ProductRepository,我还必须在返回的Order对象中填充Products集合.这意味着模拟的OrderRepository必须知道模拟的ProductsRepository等等.

忽略LINQ如此友好地为我创建的这些集合似乎是浪费,所以我的问题是,在这种情况下,单个存储库不会更有意义吗?

解决方法

要考虑的其他因素包括产品的可能寿命以及在生命周期的任何时刻不得不从LINQ-to-sql转换为其他O / R映射器的可能性.项目越小,产品越不重要,就越需要担心将minutae抽象到n度.

猜你在找的asp.Net相关文章