【发布时间】:2011-08-08 20:24:59
【问题描述】:
我向different question 询问了有关嵌套事务的问题,我的问题的答案足以让我意识到我问的问题很糟糕。所以这是一个更好的问题。
如何使用基于 Entity Framework 4.0 构建的 DAL 有效地实现 SQL Server 保存点(link 1、link 2)?
我想编写以下代码并让它以 SQL Server 的 SAVEPOINTS 的方式工作
public void Bar()
{
using (var ts = new TransactionScope())
{
var ctx = new Context();
DoSomeStuff(ctx);
bool isSuccessful;
using (var spA = new SavePoint("A")) // <-- this object doesn't really exist, I don't think
{
isSuccessful = DoSomeOtherStuff(ctx);
if (isSuccessful)
spA.Complete(); // else rollback bo prior to the beginning of this using block
}
Log(ctx, isSuccessful);
ts.Complete();
}
}
有没有一种方法可以做任何与此类似的事情,或者其他与 EF4 配合得很好的事情? (我们使用自定义的自追踪 POCO 实体)
【问题讨论】:
标签: .net .net-4.0 entity-framework-4 sql-server-2008-r2 savepoints