如何NOLOCK在实体框架上使用该功能?XML是做到这一点的唯一方法吗?
NOLOCK
否,但是您可以启动事务并将隔离级别设置为uncommited。这本质上与NOLOCK相同,但是它不是针对每个表执行此操作,而是针对事务范围内的所有操作执行此操作。
如果这听起来像您想要的,那么您可以按照以下方法进行操作…
//declare the transaction options var transactionOptions = new System.Transactions.TransactionOptions(); //set it to read uncommited transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted; //create the transaction scope, passing our options in using (var transactionScope = new System.Transactions.TransactionScope( System.Transactions.TransactionScopeOption.Required, transactionOptions) ) //declare our context using (var context = new MyEntityConnection()) { //any reads we do here will also read uncomitted data //... //... //don't forget to complete the transaction scope transactionScope.Complete(); }