我有一些代码在我对SqlServer CE 4.0&在TransactionScope中。首先是代码,然后是错误。
// Arrange.
// ... some stuff ...
// like .. order = get order with ID #1.
// Act.
using (new TransactionScope())
{
order.Name = name; // Update a field.
_orderRepository.Save(order);
_unitOfWork.Commit(); // <-- this works 100% fine.
// Assert.
// Reload the order so we can see if the data persisted to the DB.
var updatedOrder = _orderRepository
.Find()
.Where(x => x.OrderId == 1)
.SingleOrDefault(); <-- // this throws the exception.
Assert.IsNotNull(updatedOrder);
Assert.AreEqual(name, order.Name);
}
异常错误是: -
System.Data.EntityException:The 底层提供程序在Open上失败。 ---&GT; System.InvalidOperationException:连接对象不能 参加交易范围。
所以第一次保存/提交工作正常,但是当我尝试再次检索对象时(查看数据是否在事务中持续存在),就在发生错误时。
现在我确定这是单一交易而不是分布式交易 ...所以我假设这应该有用吗?
建议,善良的人?
答案 0 :(得分:0)