有人知道如何使用 objectContext SaveChanges 方法 (EntityFramework 5) 的相同事务调用 StoredProc 吗?
目标是应用对象更改并调用存储过程,该过程对数据库执行一些“魔术”,但是,如果出现问题(无论是 SaveChanges 还是 SP 执行),根本不会提交任何更改。
最佳答案
脚步:
一些代码(MyContext 派生自 DbContext):
using (var ctx = new MyContext())
{
using (var trx = new TransactionScope())
{
var connection = ((IObjectContextAdapter)ctx).ObjectContext.Connection;
try
{
ctx.Entities.Add(new MyEntity() { Number = 123 });
ctx.SaveChanges();
ctx.Database.ExecuteSqlCommand("INSERT INTO MyEntities VALUES(300)");
trx.Complete();
}
finally
{
connection.Close();
}
}
}
关于entity-framework - 使用 SaveChanges 的相同事务从 EF 调用 SP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13593450/