以下是按不同參數選擇用戶的方法列表。 例如,我想撥打GetUsers(string email, bool isActive)
。 Linq2Sql會選擇一個包含GetUsers(bool isActive)
的所有活動用戶列表,並將此列表傳遞給GetUsers(int userId, bool isActive)
?或者我在GetUsers(string email, bool isActive)
只有一個數據庫調用?使用Linq2Sql從基類調用方法
internal IQueryable<User> GetUsers(bool isActive)
{
IQueryable<User> users = Context.Users;
if (isActive)
users = users.Active();
return users;
}
internal IQueryable<User> GetUsers(int userId, bool isActive)
{
return this.GetUsers(isActive).Where(item => item.Id == userId);
}
internal IQueryable<User> GetUsers(string email, bool isActive)
{
return this.GetUsers(isActive).Where(item => item.Email.Equals(email, StringComparison.OrdinalIgnoreCase));
}
「或者我將只有一個對數據庫的調用」。試用SQL Profiler來查看有多少SQL查詢被髮送到數據庫。 – Steven 2012-03-26 14:27:35