与EF交易

时间:2010-10-19 09:39:47

标签: c# sql entity-framework stored-procedures commit

我有两个问题:

i)如何将此代码置于交易

在EF中使用ObjectContext,我使用ExecuteStoreQuery()方法来启动一些存储过程。我有一个像这样的代码块:

{
    foreach(...)
    {
     objectContext.ExecuteStoreQuery( @"INSERT MyProcedure (arg1, arg2) VALUES                                 ({0}, {1});", ...);
    }
     // ...
     objectContext.ExecuteStoreQuery( @"INSERT MyProcedure2 (arg1, arg2) VALUES                                 ({0}, {1});", ...);    
 } 

ii)是否可以通过ExecuteStoreQuery()更改对象上下文来同时提交 SaveChanges()次调用?

我的对象上下文正在改变我的代码。最后,我必须在数据库中提交SaveChanges()。我想在同一个事务中提交我的objectContext数据和所有ExecuteStoreQuery的更新。有可能吗?