repository-pattern相关内容

转换表达式<Func<T1,bool>>到表达式<Func<T2,bool>>

我正在使用存储库模式.T1 是 T2 的 Dto(例如:UserDto 和 User) 在service层,我通过Expression>作为方法的参数,该方法本身调用它传递的数据访问层中的方法表达式. 现在,您可能会问我为什么不一直使用 Expression>,但我不能这样做.是否可以进行表达式的转换?注意 User 和 UserDTO 有相同的 props. 解决方案 可以, ..
发布时间:2021-07-07 20:45:00 C#/.NET

对 TDD 友好的单例类

我有至少 2 个其他类使用的存储库类.这个存储库类需要初始化——成本很高(查询数据库).现在,我在需要的地方创建单独的存储库实例.问题是,每次我创建存储库时都必须对其进行初始化.如何设计这样的存储库对 TDD 友好?我想到的第一件事是单身,但它不是解决方案. 解决方案 您使用任何类型的 IOC 容器吗?Unity 是我选择的容器,它包含一个 ContainerControledLifeti ..
发布时间:2021-07-07 20:44:57 其他开发

在实现存储库模式时,查找值/表是否应该获得自己的存储库?

我正在根据 BISDM 的修改版本为多个数据库实体创建 RESTful 服务.其中一些实体具有关联的查找表,如下所示: 我决定使用存储库模式在数据持久性/检索之间提供清晰的分离;但是,我不确定应该如何在存储库中表示查找(而不是实体). 查找应该获得自己的存储库接口,与关联实体“共享"一个,还是应该有一个通用的 ILookupRepository 接口? 目前,这些查找是只读的;但 ..
发布时间:2021-07-07 20:44:53 其他开发

如何在单独的类库中管理客户端上下文对象?

我正在尝试为 sharepoint 创建一个库(类库),它将让所有 sharepoint dll 与 sharepoint 服务器交互以上传文件、文档并创建文档库和文档集. 现在这个库可以被客户端使用,比如 web 应用程序(asp.net webform 或 mvc)或控制台应用程序或 web api/wcf 服务或 windows 表单任何东西. 所以在这里我对创建存储库模式和工作 ..
发布时间:2021-07-07 20:44:49 C#/.NET

存储库模式在android中的应用

我正在开发一个带有存储库模式的 android 应用程序,但我在 android 中找不到存储库模式的完整系列实际实现.有推荐的教程吗? 解决方案 我遇到了同样的问题,找到了一篇比较 Android 中 Repository 不同方法的好文章:仓库模式的演变 它谈到了一种众所周知的方法,清洁架构,建议不要过度设计事物. 要理解这些帖子,您应该特别具有使用模式和存储库的经验.在我 ..
发布时间:2021-07-07 20:44:43 移动开发

存储库模式:限制、目的和好处

我是存储库模式的新手,我提出了以下问题: 存储库模式的目的是什么? 存储库模式的限制是什么? 存储库模式的好处是什么? 以下方法是否应该在存储库模式中公开? public IQueryable获取查询(){返回 _objectSet;}公共 IEnumerable得到所有(){返回 GetQuery().AsEnumerable();}公共 IEnumerableFind(Exp ..
发布时间:2021-07-07 20:44:40 C#/.NET

在服务层或存储库层管理事务?

我有一个特定的场景,根据一些约束在多个表上完成插入和更新......所以很自然地将事务范围用于这些场景.现在,我有一个存储库层和一个服务层.服务层调解存储库和 UI,并且是持久的无知.现在我很困惑在哪里使用服务或存储库层中的事务.我没有使用任何 ORM.我也看到有人在这种情况下提倡使用工作单元模式.有没有适合我当前场景的工作单元模式示例,我看到的所有示例都使用 ORMS. 谢谢, 解决 ..
发布时间:2021-07-07 20:44:31 其他开发

如何将 ConfigureServices 方法(启动)拆分为多个文件

关注点分离 (SoC) 在 ConfigureServices 中注册的依赖指令(启动类的方法)由不同的 DI 组成,如 Repository、Fluent Validations 等. 我将如何将 DI 注册分成单独的文件(如下所示) 解决方案 创建一个扩展方法来保存你想要的任何附加配置 public static class MyExtensions {公共静态 ISer ..

存储库模式 - POCO 还是 IQueryable?

我是存储库模式的新手,在网上阅读了大量内容后,我对正在发生的事情有一个粗略的了解,但似乎存在一些想法冲突. 一个是 IRepository 应该返回的内容. 我只想处理 Pocos,因此我将为每个聚合根提供一个 IRepository 实现,如下所示: 公共类 OrangeRepository: IOrangeRepository{公共橙色 GetOrange(IOrangeCrit ..
发布时间:2021-07-07 20:44:16 其他开发

存储库和工作单元模式 - 如何保存更改

尽管这类问题被问了很多次,但我还是很难理解存储库和工作单元模式之间的关系.基本上我仍然不明白哪个部分会保存/提交数据更改 - 存储库还是工作单元? 因为我见过的每个例子都与将这些与数据库/OR 映射器结合使用有关,所以让我们举一个更有趣的例子 - 让数据持久化到数据文件中的文件系统;根据模式,我应该能够做到这一点,因为数据的去向无关紧要. 对于基本实体: 公共类帐户{公共 int I ..
发布时间:2021-07-07 20:44:13 C#/.NET

当不同实体的工作非常不同时,我应该如何管理通用存储库模式?

我是存储库模式的新手. 当我管理多个实体(例如:客户、订单等)的 CRUD 操作时,就可以了.我正在制作一个界面,我正在制作一个通用存储库.这符合我的目的,因为 CRUD 操作对他们来说很常见. 我的问题是: 当几个实体的职责完全不同,他们之间没有共同的方法时,我该怎么办?我应该为这些特定目的增加接口和存储库的数量吗?或者在最佳实践方面是否有更好的解决方案? 解决方案 ..
发布时间:2021-07-07 20:44:10 其他开发

使用 ServiceStack.ORMLite 实现工作单元和存储库模式的最佳实践

假设有两个存储库接口: 接口 IFooRepository{无效删除(int id);}接口 IBarRepository{无效删除(int id);} 还有一个 IUnitOfWork 接口,如: interface IUnitOfWork : IDisposable{无效提交();无效回滚();} 使用 ServiceStack.ORMLite 实现这些接口的最佳实践是什么,以便用户可 ..

允许通过互操作进行 CRUD 操作的数据库存储库模式

我们目前面临的情况是模型实体和数据库逻辑紧密交织在一起,这使得单元测试变得不可能.所以,我决定设计一个 Repository 模式.我们通过Com交互看到的存储模型的基本结构是Root-Children[每个孩子都是另一个Root].这是一个树状结构.理解了这一点,我们设计的 Repository 是用于 root 上 CRUD 操作的 RootRepository 和 RootRepositor ..

在单元测试中处理多个模拟和断言

我目前有一个使用实体框架进行 CRUD 操作的存储库. 这被注入到我的需要使用这个 repo 的服务中. 使用 AutoMapper,我将实体模型投影到 Poco 模型上,然后服务返回 poco. 如果我的对象有多个属性,设置然后断言我的属性的正确方法是什么? 如果我的服务有多个 repo 依赖项,那么设置所有模拟的正确方法是什么?* - 一个类 [setup],其中为这些 ..
发布时间:2021-06-11 18:37:01 C#/.NET