repository-pattern相关内容
让我说,我得出的结论是(经过大量试验)存储库&使用Entity Framework时的工作单元是错误,错误,错误和这说明了原因很好。 但是我真的很讨厌那些嵌入式查询。问题是,如果我反对使用存储库等,该将它们放在哪里? (请提供简洁的答案,示例值得赞赏)。 我刚刚取消了两个项目,其中包含我的存储库,工作单元以及与数百个接口文件,因为回报无处可寻。我认为很多人,包括我自己在内,都跳上了Re
..
我正在尝试编写一个GenericEFRepository,供其他存储库使用。我有一个Save方法,如下所示。 public virtual void Save(T entity)//其中T:class,IEntity,new ()并且IEntity强制执行长ID {get;组; } { var entry = _dbContext.Entry(entity); 如果(entry
..
我正在使用通用存储库从更高级别包装DbContext和DbSet类。 但是,在某些查询中,我需要使用“ .Include()”方法来包含导航属性。但是我无法在恢复IQueryable的存储库方法中找到这些方法 像 this.repository.GetQuery() 这没有包含方法,尽管我可以在这里使用.ToList()
..
我将在数据访问层中使用存储库和UnitOfwork来查看一位联系人的聚合根 公共接口IAggregateRoot { } 这是我的通用存储库接口: 公共接口IRepository { IEnumerable
..
我正在学习存储库模式,正在阅读使用Entity Framework 4.1和代码优先 和通用存储库模式-实体框架,ASP.NET MVC和单元测试三角形 关于它们如何通过以下方式实现存储库模式实体框架。 说 •从上层隐藏EF •使代码可测试性更好 使代码可测试性更好,但是为什么要在上层隐藏EF? p> 看一下它们的实现,似乎只是用通用方法包装实体框架来查询实体框架
..
我正在尝试实现一个通用存储库,现在我已经拥有了: using System; 使用System.Collections.Generic; 使用System.Linq; 使用System.Data; 使用System.Data.Entity.Core.Objects; 使用Web_API.Models; 命名空间Web_API.DAL { class GenericRe
..
我正在使用存储库模式。 我有一个使用服务提交的“国家/地区”存储库。我应该在哪里检查数据库中是否已经存在该国家/地区,是否抛出异常? 是否可以在一个数据库调用中执行此操作? (检查并插入,如果不存在)?如果可能,可以在服务层中完成吗? (如果您建议我在该位置进行检查)。 解决方案 由于多用户并发,您不能 SELECT 然后 INSERT 并保证没有问题。因此,@ Coding
..
我正计划将数据访问层迁移到使用存储库模式和工作单元。 我确实知道存储库将帮助我更改持久性存储(数据库,集合...等)和EF等技术轻松地连接到MongoDB。因此,我注意到了实现存储库的一些关键点,例如: 返回 IEnumerable 而不是 IQueryable 存储库应仅负责CRUD操作 返回类型存储库方法应为模型(实体) 仅实现聚合根存储库 如果我在我的项目的工具存储库
..
我正在考虑使用EF 4开始一个新项目,并浏览了一些文章,我找到了一篇有关EF的文章,其中包含存储库模式和工作单元( http:// blogs。 msdn.com/b/adonet/archive/2009/06/16/using-repository-and-unit-of-work-patterns-with-entity-framework-4-0.aspx ) 看那篇文章,它使用Ob
..
使用此示例和此实现我正在尝试创建一个解决方案,以将 UnitOfWork 类与单个存储库,因为它们违反了开放式封闭原则,因为每次添加新存储库时,都必须修改 UnitOfWork 类。我正在使用Unity作为IoC容器来连接依赖项。 我的问题是自动连接 UnitOfWork , IDbContext 和存储库( IEmployeeRepository 和 ICustomerRepository
..
我在EF中使用网上找到的更新函数使用存储库模式 公共类存储库 :IRepository其中T:类 { public virtual void Update(T实体) { var entry = this.context.Entry(entity); this.dbset.Attach(entity); entry.State = System.Data.Ent
..
我正在开始一个新项目,并想使用EF Code First模式,但我也想使用存储库模式。我一直在寻找一种从dbcontext模型生成存储库的方法,但是到目前为止,我看到的所有答案都是从.edmx或DB生成存储库。我不想创建.edmx。 我要做的步骤是: 1.编写模型 2.使用t4模板生成存储库 3.从模型编写应用程序代码并回购 4.运行Add-Migration添加迁移代码
..
假设您有规范的Customer域对象。您在三个不同的屏幕上显示“客户”:“外部管理员”,“内部管理员”和“更新帐户”。 进一步假设每个屏幕仅显示所有数据的一部分包含在客户对象中。 问题是:当UI从每个屏幕(例如,通过DTO)传回数据时,它仅包含完整客户域对象的子集。因此,当您将该DTO发送到客户工厂以重新创建客户对象时,您只有客户的一部分。 然后将该客户发送到客户存储库保存它,一
..
我如何在EF,Autofac和通用数据存储库中使用DTO? 我正在建立一个新项目并已配置好我的DI / IoC(Autofac)使用通用存储库通过EF进行数据访问,并创建了OData服务端点 ContentTypesController 。 这是控制器的顶部: 公共类ContentTypesController:ODataController,IContentTypesContr
..
我的域由产品,部门,类,制造商,DailySales和HourlySales组成。 我有一个ProductRepository,可以方便地从存储中存储/检索产品。 我有一个DepartmentAndClass存储库,它可以方便地存储/检索部门和类,以及从这些部门和类中添加和删除产品。 我还有一个DailySales存储库,可用于从多个分组检索有关每日销售额的统计信息。即
..
使用带有Clean Architecture的DDD,我首先实例化所有依赖项(例如存储库和服务),并将其注入到UseCases中。我发现随着时间的推移,我对每个UseCase的依赖关系列表已经变得越来越大。例如,我的UseCase使用3个聚合根,因此我有3个存储库。还不错但是,随着我添加更多功能,我发现自己添加了域服务或更多存储库,并且还必须将它们注入UseCase构造函数中。在UseCase交互
..
我试图更好地了解域驱动设计中的存储库模式。存储库模式实现的所有示例都仅处理实体。但是,如果我只需要检索实体的某些部分怎么办?例如,我拥有具有大量属性的客户实体。我可以在ClientRepository中定义这样的内容吗? public IEnumerable GetClientsNames(){...} 甚至: class ClientBase
..
说我正在创建一个存储库,以存储数字电子书,如下面的界面所示。该存储库将存储书籍的实际文本以及标识书籍的元数据(标题,作者,出版商,ISBN等。)。 公共接口IBookRepository { void AddBook(Book newBook); void DeleteBook(int bookId); void UpdateBook(Book UpdatedBook); 图
..
优点: 存储库隐藏复杂的查询。 可以使用存储库方法作为事务边界。 ORM可以轻松模拟 缺点: ORM框架已经提供了一个集合,例如与持久对象的接口,存储库的目的是什么。因此,存储库为系统增加了额外的复杂性。 使用findBy方法进行组合爆炸。使用Criteria对象,查询或示例对象可以避免使用这些方法。但这不需要存储库,因为ORM已经支持这些查找对象的方法。 由于存储库是聚
..
存储库模式建议您只能拉聚合根。但是,如果您不知道单亲孩子的父母(根),您将如何仅使用其唯一身份(Child.ID)来检索它呢? class父级 { public int ID {get;组; } IEnumerable孩子们{私人套装; } } 班级儿童 { public int ID {get;私人套装; } 公共虚拟Parent Parent {私
..