Дублированный идентификатор?Итак, хотите ли вы подтвердить, что логин правильный, или вы хотите проверить, что логин уже существует при создании нового пользователя?
Если вы хотите проверить логин, используйте:
bool exists = context.Users.Any(u => u.Login == userName && u.Password == pwdHash);
Есливам нужно получить пользователя для проверки на клиенте (что совершенно не нужно), вы можете просто позвонить:
var user = context.Users.SingleOrDefault(u => u.Login == userName);
Этот вызов вернет ноль, если пользователь с переданным именем пользователя не существует.
Если вы хотите проверить, что вход в систему свободен во время регистрации нового пользователя, вы, как правило, также можете использовать Any
, но вы должны выполнить проверку и вставить в одну сериализованную транзакцию, что может повлиять на производительность в базе данных с высоким трафиком.Другой подход - наложить уникальное ограничение на имя пользователя в базе данных и просто попытаться сохранить нового пользователя.Если имя пользователя существует, вы поймаете исключение.