Я использую комбинацию NHibernate и LINQ, чтобы попытаться выполнить запросы, но я обеспокоен тем, что следующий запрос возвращает каждую строку пользователя из БД, что обеспечивает большую задержку БД, большой сетевой трафик, большую памятьслед, а затем отфильтровывать его слишком поздно.
public bool CheckEmailAddressIsAvailable
(string emailAddress, IDataRepository repository)
{
var users = from user in repository.GetItems<User>()
where user.EmailAddress.Equals(
emailAddress,
System.StringComparison.CurrentCultureIgnoreCase)
select user;
return !(users.Any());
}
DataRepository - это простая оболочка для сеанса NHibernate. Я хочу знать, что это двойная
1).создается, чтобы я мог следить за тем, что выполняется, и 2) Как я могу выполнить вышеупомянутый запрос, чтобы имитировать ниже SQL
select count(*) from [User] where EmailAddress = @emailAddress