如何在Entity Framework中执行ExecuteSqlCommand而不将其包含在事务中

Gre*_*Gum 4 entity-framework entity-framework-6

我需要使用Entity Framework执行存储过程.

通常我称之为:

this.Context.Database.ExecuteSqlCommand("EXEC edi_UploadTransmission");
Run Code Online (Sandbox Code Playgroud)

但是,此特定存储过程包括访问链接服务器.

由于EF包装ExecuteSqlCommand在一个事务中,它失败了,因为事务中不支持链接服务器(据我所知).

有没有办法在Entity Framework中执行此存储过程而不在事务中?

Ram*_* A. 9

通过TransactionalBehavior.DoNotEnsureTransaction作为第一个参数的ExecuteSqlCommand方法.

例如,

this.Context.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction, "EXEC edi_UploadTransmission");
Run Code Online (Sandbox Code Playgroud)