Не используйте Count()
- используйте Any()
, если только вы не заботитесь о счете.
Вы можете значительно упростить это, потому что вы не используете остальные результаты:
bool validLogin = DataContext.Persons.Any(p => p.UserName == login &&
p.Password == password);
Приятной особенностью Any()
является то, что все, что обрабатывает запрос, может быть остановлено, как только будет найдено любое совпадение результатов - ему не нужно постоянно искать другие потенциальные совпадения. (Count()
будет работать конечно, это просто не так эффективно, в основном потому, что сам оператор не так точно описывает, что вас действительно волнует.)