repository-pattern相关内容
我看到这段代码适用于 LINQ to SQL,但是当我使用实体框架时,它抛出了这个错误: LINQ to Entities 无法识别方法 'System.Linq.IQueryable'1[MyProject.Models.CommunityFeatures] GetCommunityFeatures()' 方法,并且此方法无法转换为存储表达式.` 存储库代码是这样的: public
..
背景 在我工作的公司,我被要求更新旧的 MVC 应用程序并为 SQL 数据库实现存储库模式.我已经使用 Entity Framework Database-First 创建了数据库的上下文并获得了 23 个实体. 第一个问题 我是否需要为每个实体创建一个存储库或为上下文实现一个通用存储库?我问这个是因为我在搜索互联网时发现了以下内容: 每个域一个存储库 您应该将存储库
..
数据访问对象 (DAO) 和存储库模式之间有什么区别?我正在使用 Enterprise Java Beans (EJB3)、Hibernate ORM 作为基础设施、域驱动设计 (DDD) 和测试驱动开发 (TDD) 作为设计技术来开发应用程序. 解决方案 DAO 是数据持久化的抽象. Repository 是对象集合的抽象. DAO 会被认为更接近数据库,通常以表为中心. Re
..
在 OOP 设计模式中,存储库模式和服务层有什么区别? 我正在开发一个 ASP.NET MVC 3 应用程序,并试图理解这些设计模式,但我的大脑只是不明白......还没有!! 解决方案 Repository Layer 为您提供了对数据访问的额外抽象级别.而不是写 var context = new DatabaseContext();返回 CreateObjectQuery()
..
我正在使用asp.net mvc 5 和C# 与实体框架...我有模型和域类的功能...现在我需要使用存储过程...我在运动中挣扎. 我首先遵循现有数据库的代码,并且在那里编写了存储过程.我的问题是如何在我的 Web 应用程序中调用该存储过程. 存储过程: ALTER PROCEDURE [dbo].[GetFunctionByID](@FunctionId INT)作为开始选择 *
..
我正在使用最新的实体框架 CTP 5 版本并构建一个简单的 asp.net MVC 博客,其中我只有两个表:发布和评论.这完全是在 POCO 中完成的,我只需要 DbContext 部分的帮助,我需要它进行单元测试(使用 IDbSet?),并且我需要一个简单/通用的存储库模式来添加、更新、删除、检索.任何帮助表示赞赏. 谢谢. 解决方案 从 DbContext 开始,创建一个名为 D
..
我们即将启动一个与之前的项目类似的新项目.我可以复制旧设计,但我对旧设计不太满意. 它是一个“标准"业务系统(销售、库存盘点、仓储等),构建在 .Net 3.5(Winforms MDI)之上,后端带有实体框架. 所有表单都继承自一个基本表单(它继承了 Windows.Form).该表单公开了一个名为 ObjectContext 的属性,它在第一次调用时实例化一个新的 ObjectCo
..
我已经在我的项目中使用 Spring Data JPA 存储库有一段时间了,我知道以下几点: 在存储库接口中,我们可以添加诸如 findByCustomerNameAndPhone() 之类的方法(假设 customerName 和 phone 是域对象中的字段). 然后,Spring 通过在运行时(在应用程序运行期间)实现上述存储库接口方法来提供实现. 我对它的编码方式很感兴趣,我
..
我正在尝试为 Entity Framework Core 2.0 编写一个存储库方法,该方法可以使用 .ThenInclude 处理返回的子属性集合,但是我在使用第二个表达式时遇到了问题.这是 .Include 的一种工作方法,它将返回实体的子属性(您提供一个 lambda 列表). public T GetSingle(Expression> predicate, params Express
..
我在使用 EF6 为 MVC4 实现存储库模式 [UoW] 时遇到问题. 错误:'XX.DataAccess.Context' 必须是具有公共无参数构造函数的非抽象类型,才能将其用作泛型类型或方法 'XX.DataAccess.WriteRepository' 中的参数 'TContext' //保存/删除/检索等数据访问层类继承WriteRepository公共类 Common : Wr
..
我从 DDD 开始.我对 DDD 应用程序中涉及的几个层之间的交互有点困惑. 我可以从我的表示层调用我的存储库吗?如果不是,我是否必须在我的服务层中复制存储库提供的 CRUD 功能(这当然会反过来将存储库用于这些功能)?这样做的最佳方法是什么? 解决方案 表示层到底是什么意思?如果您指的是控制器/演示者,那完全没问题.我使用的经验法则是,如果控制器操作是 4 行或更多代码,我应该考虑
..
我使用 Repository 模式(和 linq2sql 作为数据访问)并且有,例如,ProductsRep 和 CustomersRep. 在非常简单的场景中,db 有两个表 - Produsts(ProductID、CustomerID、ProductName、Date)和 Customer(CustomerID、FirstName、LastName). 每个存储库都提供创建、更新
..
我已经阅读了尽可能多的关于 Stackoverflow 的帖子,其中关于在其中使用工作单元模式一个包含业务层的 ASP.Net MVC 3 应用程序.但是,我仍然有几个问题关于这个主题,非常感谢人们可以给我的任何反馈. 我正在开发一个使用 EF 4.1 的 ASP.Net MVC 3 Web 应用程序.我将同时使用存储库和此项目的工作单元模式类似于它们在 这个很棒的教程 我的项目的不同
..
在 .NET(Winforms、WPF、ASP.NET)上创建更大规模的企业级应用时,我看到了两种主要的“思想流派". 有些人使用“存储库模式",它使用知道如何获取、插入、更新和删除对象的存储库.这些对象相当“愚蠢",因为它们不一定包含大量逻辑 - 例如它们或多或少是数据传输对象. 另一个阵营使用我称之为“智能"业务对象的东西,它们知道如何加载自己,它们通常有一个 Save()、可能的
..
为 Web 应用程序的每个主要部分设置多个 XXX : DbContext 类是否是一个好习惯(考虑到它的数据库中至少有 50 个表)?例如:MembershipContext、BlogContext、StoreContext 等.或者为所有与数据库访问相关的内容使用一个 DatabaseContext 更方便. 解决方案 使用多个 DbContext 类意味着复杂的交叉事务(你可以在网上
..
我一直在阅读有关 ASP.NET MVC、SOLID 等的一些内容,我正在尝试为中小型 ASP.NET MVC 应用程序找出一个简单的“食谱",将这些概念一起;我最关心的问题是控制器过于复杂,就像网络表单中的代码隐藏文件一样,其中包含所有类型的业务逻辑. 我正在考虑以下架构,用于小型数据驱动应用程序: Controllers:只处理请求,调用合适的服务,将动作结果返回给View; 模
..
结合工作单元和存储库模式是当今使用相当广泛的东西.正如 Martin Fowler 所说,使用 UoW 的目的是形成一个 业务交易,同时不知道存储库的实际工作方式(持续无知).我已经审查了许多实现;并忽略具体细节(具体/抽象类、接口等),它们或多或少类似于以下内容: 公共类 RepositoryBase;{私人 UoW _uow;public RepositoryBase(UoW uow)//通
..
我目前正在阅读 Pro Asp.Net MVC 框架这本书.在书中,作者建议使用类似于以下内容的存储库模式. [Table(Name = "Products")]公开课产品{[列(IsPrimaryKey = true,IsDbGenerated = 真,AutoSync = AutoSync.OnInsert)]公共 int ProductId { 获取;放;}[列] 公共字符串名称 { ge
..
我一直使用 Repository 模式,但对于我的最新项目,我想看看我是否可以完善它的使用以及我对“工作单元"的实现.我开始挖掘的越多,我就开始问自己这个问题:“我真的需要它吗?" 现在这一切都始于 Stackoverflow 上的几条评论,以及 Ayende Rahien 在他博客上的帖子的痕迹,其中有 2 个具体的, repository-is-the-new-singleton
..
我一直使用 Repository 模式,但对于我的最新项目,我想看看我是否可以完善它的使用以及我对“工作单元"的实现.我开始挖掘的越多,我开始问自己这个问题:“我真的需要它吗?" 现在这一切都始于 Stackoverflow 上的几条评论,以及 Ayende Rahien 在他博客上的帖子的痕迹,其中有 2 个具体的, repository-is-the-new-singleton
..