gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 06:13:21 25 4
gpt4 key购买 nike

我一直在阅读 Professional ASP.NET MVC 1.0 书中的第 11 章(可测试设计模式)。在本章的示例中,数据访问被拆分为多个存储库:IOrderRepository、IProductRepository 等。这一切都是有道理的:单个存储库用于单个数据类。

但是,当您考虑表格之间的链接时,这对我来说有些崩溃:一个订单包含许多产品。当订单类由 LINQ-to-SQL 创建时,订单类将有一个 Products 集合,该集合枚举与该订单相关的所有产品。所以通过使用这个集合,我们绕过了 ProductsRepository。

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

忽略 LINQ 为我创建的这些集合似乎是一种浪费,所以我的问题是,在这种情况下,单个存储库是否更有意义?

最佳答案

其他需要考虑的因素包括产品可能的生命周期,以及在生命周期的任何时间点必须从 LINQ-to-SQL 更改为某个其他 O/R 映射器的可能性。项目越小,产品越不重要,你就越不需要担心将细节抽象到 n 级。

关于asp.net-mvc - 使用 LINQ 的多个或单个存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/910156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com