【发布时间】:2013-01-07 13:10:39
【问题描述】:
有没有办法在使用 Rob Conery 的 Massive 而不编写自己的查询时执行未提交的读取?
它适用于主要是只读的网站。网站的 CMS 类型。
【问题讨论】:
标签: isolation-level massive nolock read-uncommitted
有没有办法在使用 Rob Conery 的 Massive 而不编写自己的查询时执行未提交的读取?
它适用于主要是只读的网站。网站的 CMS 类型。
【问题讨论】:
标签: isolation-level massive nolock read-uncommitted
这样做的作弊方法是在您为桌子做声明时。传入一个(nolock)提示:
var dirtytbl = new DynamicModel("northwind", tableName:"dbo.Products (nolock)", primaryKeyField:"ProductID");
如果你不想建立脏模型和干净模型,我希望你很少这样做,你可以直接使用 SQL:
var dirtyresult = tbl.Fetch("set transaction isolation level read uncommitted; SELECT * FROM Categories c INNER JOIN things t on c.id = t.id ");
我将上面的代码用于系统对象和其他一些我知道这无关紧要的幕后代码,但您应该始终非常谨慎,并知道当您降到该隔离级别时会遇到什么。 请参阅博文How dirty are your reads?
【讨论】: