有人知道如何使用objectContext SaveChanges方法(EntityFramework 5)的相同事务调用StoredProc吗?
目标是应用对象更改并调用在DB上执行某些“魔法”的存储过程,但是,如果出现问题(使用SaveChanges或使用SP执行),将不会进行任何更改
答案 0 :(得分:3)
步骤:
一些代码(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();
}
}
}