ADO.Net Entity Framework : (二) 實現 with(nolock) 查詢
来源:互联网 发布:淘宝奇葩评价 编辑:程序博客网 时间:2024/03/29 23:43
因為公司的案子在執行資料查詢時,都習慣在查詢語法裡使用With(nolock),
用以提升查詢效率與避免LOCK發生,如下
1
select
*
from
[
User
]
with
(nolock)
剛好之前在使用Entity Framework時,也有這個需求,
因此找了一下資料
要在 Linq to SQL 或 Entity Framework 下實現 with(nolock) 查詢方法如下
方法一 使用 TransactionScope
01
////示範: with(nolock)查詢
02
using
(TestEntities te =
new
TestEntities())
03
{
04
////方法一
05
////須引用 System.Transactions
06
using
(TransactionScope ts =
new
TransactionScope(TransactionScopeOption.Required
07
,
new
TransactionOptions() { IsolationLevel = IsolationLevel.ReadUncommitted }))
08
{
09
var users = te.User.Select(a => a).ToList();
10
}
11
}
需注意此方法在跨資料庫查詢時,啟動MSDTC,並降低效能。
方法二 使用 ObjectContext.Connection.BeginTransaction
1
////示範: with(nolock)查詢
2
using
(TestEntities te =
new
TestEntities())
3
{
4
////方法二
5
////此方法會修改所有操作的交易層級
6
te.Connection.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);
7
var users = te.User.Select(a => a).ToList();
8
}
需注意此方法會修改所有操作的交易層級
方法三 使用預存程序(stored procedures ),將查詢語法包裝在裡面
提供一些心得給大家參考
- ADO.Net Entity Framework : (二) 實現 with(nolock) 查詢
- Entity Framework with NOLOCK
- ADO.NET Entity Framework
- ADO.NET Entity Framework
- ADO.NET Entity Framework
- ADO.NET Entity FrameWork
- ADO.NET Entity Framework多对多关系增删查
- Professional ADO.NET 3.5 with LINQ and the Entity Framework
- 关注ADO.NET Entity Framework
- Mysql ADO.NET Entity Framework
- (转)ADO.NET entity framework
- (转)ADO.NET entity framework
- (转)ADO.NET entity framework
- (转)ADO.NET entity framework
- ADO.NET Entity framework研究
- ADO.NET Entity Framework简介
- ADO.NET Entity Framework介绍
- ADO.NET Entity Framework Usage
- nginx源码分析
- js常用验证
- What does a ScrumMaster do?
- 感冒了
- C和C++函数的相互引用 extern "c"深入理解
- ADO.Net Entity Framework : (二) 實現 with(nolock) 查詢
- 腾讯,到了该创新的时候了
- 自定义泛型
- 要学会编故事
- 网络课程设计-企业网络规划书2
- windows下Apache局域网访问
- JAVA解压和压缩详解
- GCC-3.4.6源代码学习笔记(48)
- 网络课程设计-企业网络规划书3