使用Rob Conery的Massive时读取未提交

时间:2013-01-23 21:57:44

标签: isolation-level massive nolock read-uncommitted

在使用Rob Conery的Massive而不编写自己的查询时,有没有办法进行未提交的读取?

这是一个大多数只读的网站。 CMS类型的网站。

1 个答案:

答案 0 :(得分:2)

执行此操作的作弊方式是在您对表格进行声明时。传入(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?