asp.net-mvc – 使用LINQ的多个或单个存储库
发布时间:2020-12-16 04:37:00 所属栏目:asp.Net 来源:网络整理
导读:我一直在阅读Professional ASP.NET MVC 1.0书中的第11章(可测试设计模式).在本章的示例中,数据访问被分成许多存储库:IOrderRepository,IProductRepository等.这些都是有意义的:单个数据库的单个存储库. 但是,当您考虑表之间的链接时,这会对我造成一些影响
我一直在阅读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 – 在图表中显示图例
- Asp.net mvc 知多少(五)
- 这算是ASP.NET MVC的一个大BUG吗?
- asp.net-mvc-3 – MVC 3不显眼的验证 – 有条件地禁用/启用
- asp.net-mvc – Autofac(MVC EF SignalR Hangfire)生命周期
- ASP.NET MVC EF 连接数据库(二)-----Model First
- ASP.NET Core身份验证
- asp.net-mvc – 在Hub,SignalR之外获取connectionId
- asp.net – 将通用模型的子类传递给剃刀视图
- ASP.NET Core部署在IIS中后,报无法打开登录所请求的数据库
推荐文章
站长推荐
- asp.net-mvc – 请在ASP.NET MVC中等待页面
- 使用HtmlAnchor或ASP.NET HyperLink作为导航页内
- 使用ASP.net和Access数据库保护SQL Injection的网
- asp.net-mvc – 将父ID添加到隐藏字段
- asp.net – 使用vb.net和EPPlus的单元格包装
- asp.net – 在处理期间存储用户名/密码
- asp.net-mvc-3 – 放置模板视图和骨干视图代码的
- asp.net-mvc – 使用Checkboxes绑定到具有强类型
- 为什么在ASP .Net MVC应用程序中使用SignalR 2.x
- asp.net – 如何将最新的TFS变更集编号插入到asp
热点阅读