以下是按不同参数选择用户的方法列表。 例如,我想拨打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