作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 Entity Framework 1.0 访问映射到表(称为文档)的实体(称为文档)但非常重要的一点是在读取数据时这张表没有被锁定。
有文章online , 和 stackoverflow建议为此使用事务范围。但我最初并不觉得为读取创建事务很舒服。
因此我的问题是:
最佳答案
在编写自定义 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/
我是一名优秀的程序员,十分优秀!