我在Entity Framework 6中调用存储过程,可以根据需要创建数据库和表。它抛出了错误;
消息"多语句事务中不允许使用CREATE DATABASE语句。在多语句事务中不允许使用\ r \ nALTER DATABASE语句。\ r \ nDatabase' CoreSnapshotJS3'不存在。确保正确输入名称。"串
我不想在交易中使用它来压制交易
using (var transation = new TransactionScope(TransactionScopeOption.Suppress))
{
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("spCreateSnapshotFromQueue", snapshotQueueIDParameter);
}
它仍然会抛出错误。
如何停止自动交易?
答案 0 :(得分:23)
我找到了一种方法:
var snapshotQueueIDParameter = new SqlParameter("SnapshotQueueID", entityId);
return _db.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction,
"EXEC spCreateSnapshotFromQueue @SnapshotQueueID", snapshotQueueIDParameter);