unit-of-work相关内容

我应该在哪里创建 ASP.Net MVC 3 应用程序中的工作单元实例?

我已经阅读了尽可能多的关于 Stackoverflow 的帖子,其中关于在其中使用工作单元模式一个包含业务层的 ASP.Net MVC 3 应用程序.但是,我仍然有几个问题关于这个主题,非常感谢人们可以给我的任何反馈. 我正在开发一个使用 EF 4.1 的 ASP.Net MVC 3 Web 应用程序.我将同时使用存储库和此项目的工作单元模式类似于它们在 这个很棒的教程 我的项目的不同 ..

如何在 MVC 中实现工作单元:职责

谁有责任 谁有责任开始和完成 MVC 架构中的工作单元? 解决方案 这不是控制器的责任,它违反了SRP.控制器甚至根本不应该知道 UoW.在 Web 中,通常对服务器的每个请求使用一个 UoW.在这种情况下,UoW 应该在请求结束时处理,并在请求开始之后的某个地方开始(理想情况下,UoW 的开始应该是惰性的).执行此操作的最佳位置是使用 Application_EndRequest ..

具有多个数据源的工作单元?

有可能(甚至很有可能)我只是没有完全理解“工作单元"的概念.基本上,我认为它是一种在面向对象环境中使用的广泛事务.启动工作单元,与对象交互,提交或回滚.但这如何分解为这些对象背后的数据存储上的实际事务? 在具有单个 DB 和 ORM(例如 NHibernate)的系统中,这很容易.事务可以通过 ORM 进行维护.但是对于一个自定义域模型掩盖了许多不同数据源的系统呢?并非所有这些数据源都是关系 ..
发布时间:2021-11-17 02:02:40 其他开发

工作单元 + 存储库模式:业务交易概念的堕落

结合工作单元和存储库模式是当今使用相当广泛的东西.正如 Martin Fowler 所说,使用 UoW 的目的是形成一个 业务交易,同时不知道存储库的实际工作方式(持续无知).我已经审查了许多实现;并忽略具体细节(具体/抽象类、接口等),它们或多或少类似于以下内容: 公共类 RepositoryBase;{私人 UoW _uow;public RepositoryBase(UoW uow)//通 ..
发布时间:2021-11-17 01:57:56 Java开发

跟踪 SQLAlchemy 中的模型更改

我想记录每个 SQLAlchemy 模型将执行的操作. 所以,我有一个 after_insert、after_delete 和 before_update 钩子,我将在其中保存模型的先前和当前表示, def keep_logs(cls):@event.listens_for(cls, 'after_delete')def after_delete_trigger(mapper, conne ..
发布时间:2021-09-14 18:42:48 Python

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

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

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

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

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

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

通用工作单元

我已经实现了EntityFramework模式以及存储库和工作单元.该实现类似于代码项目存储库示例,但是我需要对工作单元进行增强. 工作单位 公共类GenericUnitOfWork:IDisposable{//初始化代码公共Dictionary仓库=新的Dictionary();公共IRepository仓库(),其中T:类{如果 ..
发布时间:2021-05-04 19:57:09 C#/.NET

工作单位和EF

我正在按照“工作单位"模式进行界面.我的界面如下所示: 公共接口IDataContext:IDisposable{void SaveChanges();TSource Create(TSource toCreate),其中TSource:class;TSource Update(TSource toUpdate),其中TSource:class;bool ..
发布时间:2021-04-30 19:28:31 C#/.NET

类内的asp.net核心访问dbcontext

我有一个Asp.net core 2应用程序,在其中配置了带有存储库模式和工作单元的dbContext. 一切正常,我可以在控制器内访问UnitOfWork并获取数据. 我试图访问中间件中的上下文以及另一个项目中的类,但是我真的不知道哪种方法是最好的. DbContext 公共类BloggingContext:DbContext{公共BloggingContext(DbCont ..
发布时间:2021-04-11 19:20:06 其他开发

多少个存储库太多?

我们正准备对目前正在使用垂死的技术堆栈的大型企业应用程序进行模块化。我的问题是在“存储库/工作单元”模式中,一个工作单元中可以有多少个存储库?假设我们在一个DbContext上创建了一个UnitOfWork,该DbContext公开了50多个存储库实体。这会导致性能问题吗? 我们正在考虑将其拆分,以便每个模式都有自己的DbContext,但这似乎增加了很多复杂性,因此不允许轻松地加入模式之间 ..
发布时间:2020-10-30 00:43:39 其他开发

如何使用具有通用存储库模式的联接-Entity Framework

我有一个通用存储库,如下所示,它可以处理我的 CRUD ,因为单个实体易于使用,当我尝试加入我的 POCO 时,问题就开始了。 让我说我有这些POCO,它们是使用流畅的映射的api(多对多和一对多关系): 公共班学生 { 公共学生() { this.Courses = new HashSet(); } public int StudentId {get ..
发布时间:2020-10-29 22:20:35 C#/.NET

如何使用UnitOfWork模式从添加中获取ID?

我正在使用UnitOfWork模式来抽象我的Asp.Net应用程序中的数据库访问。基本上,我遵循此处描述的UnitOfWork模式方法: https://chsakell.com/2015/02/15/asp-net-mvc-solution-architecture-best-practices/ 但是,我很难理解如何获得新添加的商品的ID。就像我要向客户存储库中添加新客户一样,我将 ..
发布时间:2020-10-29 22:10:00 C#/.NET

为什么数据库中的数据没有被更新但是对象却被更新并且没有错误?

我有这个银行ATM模拟应用程序,该应用程序实现了一些域驱动的设计架构和工作单元模式。 此应用程序具有3个基本功能: 检查余额 存款 提现 这些是项目层: ATM.Model(域模型实体层) namespace ATM.Model { public class BankAccount { public int Id {get;组; } 公用字串Acc ..