我的数据层中有以下设置
namespace DAL
{
public abstract class BaseDalObj:IDisposable
{
protected Auto.Entities entities;
public BaseDalObj()
{
entities= new Auto.Entities();
}
public void Dispose()
{
}
}
public class Class1: BaseDalObj
{
public void Save(object a)
{
entities.SaveItem(a);
}
}
public class Class2: BaseDalObj
{
public void Save(object b)
{
entities.SaveItem(b);
}
}
}
namespace Business
{
public class BusinessLL
{
public Object a,b;
public BusinessDAL()
{
a = new Object();
b = new Object();
}
public void Save()
{
using(var dbObj1 = new DAL.Class1())
{
dbObj1.Save(a);
using(var dbObj2 = new DAL.Class2())
{
dbObj2.Save(b);
}
}
}
}
}
我想要的是在同一个 TransactionScope 内调用两个 Save 函数的方法。
我不知道如何使用 EF 做到这一点。我已经研究过使用 TransactionScope 类,但我无法理解它是如何工作的。
我一直在研究使用entities.Connection.BeginTransaction()
但返回 aDbTransaction
并且TransactionScope
只接受类型Transaction
Class
任何可以以正确方式指出我的帮助或指示都会真正有帮助。