我有两个不同数据库的不同实体。 在我的过程中,我想操纵两个数据库,并且整个过程必须处于事务中。 我已经用TransactionScope尝试过了。它适用于单个实体。实体框架中两个不同实体的交易4
var entity1 = clsProject.GetEntity1();
var entity2 = clsProject.GetEntity2();
System.Transactions.TransactionScope tranScope = new System.Transactions.TransactionScope();
entity1.Connection.Open();
entity2.Connection.Open();
//Do operations
entity1.SaveChanges(false);
entity2.SaveChanges(false);
tranScope.Complete();
entity1.AcceptAllChanges();
entity2.AcceptAllChanges();
但是,它在这条线上引发了一个错误:entity2.Connection.Open(); 错误消息:底层提供程序在打开时失败。 内部异常:合作伙伴事务管理器已禁用其对远程/网络事务的支持。 (来自HRESULT的例外:0x8004D025)
请给出你的想法。
由于事先
纳雷什Goradara
它已经打开,但它不起作用。同样的错误。 –
要进行测试,请在安全选项卡上尝试“无需身份验证”。 –
我将事务范围封装在using语句中,请尝试使用它。 –