我使用EF 5.0 Code First.We無法在每個讀取查詢上實現nolock。請找到下面的代碼。實體框架4.0和5.0代碼首先提示IQLable查詢與NOLOCK
我的模型:
public class UserType
{
public UserType()
{
CreationDate = DateTime.Now;
UpdatedDate = DateTime.Now;
DeletedFlag = false;
}
public int UserTypeId { get; set; }
public string UserTypeName { get; set; }
public int CreatedBy { get; set; }
public int UpdatedBy { get; set; }
public DateTime CreationDate { get; set; }
public DateTime UpdatedDate { get; set; }
public bool DeletedFlag { get; set; }
}
RepositoryBase :(我們使用倉庫的設計模式)
public IQueryable<T> Query<T>() where T : class
{
return DataContext.Set<T>();
}
服務:
//TODO: place NOLOCK
repBase.Query<UserType>().Where(ja => ja.DeletedFlag == false).OrderByDescending(ja => ja.UpdatedDate).ToList();
repBase是DB上下文的情況下調用在Query()之上。
現在我們要運行上面的查詢(NOLOCK)。
的Visual Studio 2012, EF 5.0代碼首先, C#.NET 4.0, MVC的Web API, 庫設計模式
在此先感謝。
你只是不能用EF發出無鎖提示(或任何提示)。但是,只是好奇,你需要什麼? –
爲避免死鎖並允許髒讀,內部應用修改了數據,但面向公衆的站點只是只讀的 – Nash