问题标签 [unit-of-work]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2841 浏览

design-patterns - 应用工作单元模式

我在企业应用程序架构模式中读到过,工作单元只能在单个会话中使用。所以每个会话都应该有它唯一的工作单元。谁能告诉我为什么我不能为整个应用程序使用一个工作单元(在我的例子中是 ASP.NET)。

0 投票
7 回答
1184 浏览

database - 数据库之外是否需要事务行为?

如果没有事务,我不敢在数据库中做任何复杂的事情。几乎总是有一个简单易用的内置命令。但是,当您开始使用其他持久性数据时,您并没有得到这种简单易用的事务支持。一些例子是

  • 文件系统
  • 网络服务(我没有使用过)

即使在非持久性数据中,在出现异常后撤消工作块通常也很有用。使用一种语言获得的标准数据结构都不支持事务。

我想知道的是,为什么数据库是特例?

数据库之外的事务行为主题是否有任何有用的链接?

0 投票
2 回答
587 浏览

asp.net-mvc - RhinoCommons UnitOfWork 问题与 ASP.Net MVC

我正在玩 RhinoCommons 和 NHibernate,我对 UnitOfWork 模式有疑问。

对不起,如果这是一个 n00b 问题。

UnitOfWork 是否应该在最高级别(即控制器)启动?或者在控制器调用的服务模块中说?

0 投票
2 回答
597 浏览

unit-of-work - 工作单元问题

在以下场景中我应该如何使用工作单元模式:

我正在编写一个 winforms 应用程序。我有一个屏幕,用户可以在其中编辑单个订单。在这个屏幕上,用户可以打开另一个表格来选择送货公司。用户还可以在选择之前在此子表单中添加/编辑现有的送货公司。

如何使用工作单元模式来实现这个场景?目前我有一个订单输入屏幕的工作单元。我的第一个想法是在这个工作单元中也包含子表单。问题是,送货公司的更改应该在子表单中保持不变。但是当我持久化对快递公司的更改时,这也会持久化订单中的更改。

我应该为交付公司的任何编辑创建第二个工作单元吗?在这种情况下,如何使该工作单元中的更改在第一个工作单元中可见?

0 投票
1 回答
1141 浏览

nhibernate - 工作单元实施

可能我太n00b无法理解这一点,但我正在阅读Gabriel Schenker http://nhibernate.info/doc/patternsandpractices/nhibernate-and-the-unit-of-work-pattern.html UnitOfWork实现,我真的不能明白这点。

为什么 UnitOfWorkImplementor.Dispose 需要将 dispose 转发给 UnitOfWorkFactory 而这转发给 UnitOfWork?为什么 UnitOfWorkImplementor 不能自行处理?

周围还有其他 UnitOfWork 实现示例吗?(请一个更简单的)。

谢谢!

0 投票
3 回答
1425 浏览

linq - 领域模型 + LINQ to SQL 示例

我想知道是否有一个企业应用程序示例,使用业务逻辑层中的域模型和用于数据映射器的 LINQ 设计?我不太确定如何将 LINQ to SQL 的 UnitOfWork 功能与来自业务层的业务对象结合使用。

谢谢,卢锡安

0 投票
1 回答
1797 浏览

linq-to-sql - LINQ to SQL 作为工作单元

根据您的经验,LINQ to SQL 是否适合作为工作单元?可以避免吗?我应该更喜欢 NHibernate 还是其他 O/RM 工具?

谢谢,卢锡安

0 投票
2 回答
157 浏览

wcf - 我可以在 WCF 中向客户端返回异常的最后一刻是什么时候?

假设我在 IInstanceProvider 的实现中有这个:

那个投掷;永远不会返回给客户端,因为它是在服务完成它的工作并将数据返回给客户端并因此完成之后才被调用的。我还能如何返回异常?或者有更好的地方来做这件事吗?

0 投票
3 回答
1184 浏览

repository - 我什么时候需要刷新 Rhino Commons UnitOfWork?

当使用 Rhino Commons UnitOfWork(在 ASP-MVC 的 UnitOfWorkApplication 中)时,我喜欢使用 Rhino Repository 静态类来保存这样的实体:

我发现我可以在调用之后立即使用:

这工作正常。但是,当我在 Rhino UnitOfWork 上使用 NHibernate Linq 提供程序时,如下所示:

我得到一个空列表。看来我必须先调用 UnitOfWork.Current.Flush() 才能像这样把车开出来。我不明白为什么,因为在幕后我假设两种检索方法都在查询同一个会话/工作单元。这是否意味着您应该在每次保存到数据库后调用 UnitOfWork.Current.Flush() ?NHibernate 不应该能够计算出何时刷新自身吗?还是我误解了什么?

0 投票
1 回答
1093 浏览

nhibernate - 使用 Rhino Commons UnitOfWork 为集成测试嵌套事务范围

我正在尝试设置一个集成测试类,将每个测试包装在一个事务中。这样我可以在每次测试后回滚事务,而不是在每次测试前重置数据库。

我还希望能够在集成测试本身中使用事务。

我正在为该项目使用 NHibernate 和 Rhino Commons UnitOfWork。我正在使用 MSTest 进行测试。

我想要这样的东西:

这是我第一次使用 NHibernate、Rhino Commons 和 MSTest。我不清楚嵌套 Rhino CommonsUnitOfWork的会话行为。我在这里所拥有的不会回滚集成测试中的更改。

我尝试使用TransactionScopefrom ,但在s 结束System.Transactions时出现以下错误:UnitOfWork

System.InvalidOperationException:事务正在进行时无法调用断开连接。

所以这是我的问题:
有没有办法在 Rhino Commons 中使用 UnitOfWork 获得这种行为?如果不是,我应该在每次测试之前重置数据库,还是有另一种方法可以嵌套与 UnitOfWork 配合得很好的事务?

谢谢你。