gpt4 book ai didi

sql-server - 如何让 Entity Framework 1.0 在访问特定实体时使用 nolock 提示

转载 作者:行者123 更新时间:2023-12-04 09:03:10 24 4
gpt4 key购买 nike

我想使用 Entity Framework 1.0 访问映射到表(称为文档)的实体(称为文档)但非常重要的一点是在读取数据时这张表没有被锁定。

有文章online , 和 stackoverflow建议为此使用事务范围。但我最初并不觉得为读取创建事务很舒服。

因此我的问题是:

  1. 当查询针对 SQL Server 2008 时,如何在为此实体创建 SQL 语句时强制 Entity Framework 使用 nolock 提示,而不指向存储过程?
  2. 如果这不可能,那么使用事务范围进行读取是否存在任何实际问题,还是我过于谨慎了?

最佳答案

在编写自定义 Entity Framework 提供程序之前,您不能强制 EF 使用 NOLOCK 提示,您将在其中控制所有 SQL 语句的创建。如果你想试试check these provider可用于包装现有 EF 提供程序的包装器。但它仍然需要解析和修改已创建的 SQL 语句,这可能是一项相当复杂的任务,对性能有很大影响。

据我了解,每个语句都在其自己的事务中运行。这就是锁定导致问题的原因。在具有较低隔离级别的 TransactionScope 中包装语句只是重新配置隐式事务。但请注意,未提交的读取也称为脏读取 - 您可以获得未提交的数据。

关于sql-server - 如何让 Entity Framework 1.0 在访问特定实体时使用 nolock 提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5497360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com