【发布时间】:2020-12-15 14:24:33
【问题描述】:
如何使用 NOLOCK 在 Entity Framework Core 中读取/选择一个? (以避免 OLTP 数据库中的锁定/阻塞/死锁)。 这是一个示例选择查询。
var data= _dbContext.Set<ProductOrder>()
.Where(c => c.ProductTypeId == this.productTypeId && c.saleYear == this.saleYear)
.ToList();
将 Net Core 3.1 与 SQL Server 2016 数据库结合使用。
【问题讨论】:
-
这与在
READ UNCOMMITTED事务隔离级别下读取相同,因此在具有该隔离级别的事务下执行整个操作将具有相同的可怕效果。不要使用NOLOCK,如果您可以帮助您实际需要结果正确的任何事情;有so many ways 可以去very wrong。考虑替代方案,例如快照隔离。
标签: c# .net entity-framework .net-core entity-framework-core