Проверьте запись в таблице - PullRequest
1 голос
/ 13 августа 2010

Я пытаюсь проверить наличие записи в таблице SQL в операторе if, я пытался использовать .Count (), но теперь понимаю, что это не сработает, так как вернет общее количество всехзаписей в таблице.

// If the current user does not exist in the Database, then add the user
if (staffdb.Staffs.Single(s => s.Staffname == user).Count() == 0)
{

}

Я немного новичок, когда дело доходит до этого, но я немного искал в сети и, похоже, ничего не нашел.

Ответы [ 2 ]

2 голосов
/ 13 августа 2010

Правильное решение:

if (!staffdb.Staffs.Any(s => s.Staffname == user))
{
    // ...
}

Это гарантирует, что база данных перестанет искать, как только найдет. Если вы используете .Where(), а затем .Count(), он потенциально пройдет всю таблицу и получит более длинный список, чем необходимо.

0 голосов
/ 13 августа 2010
// If the current user does not exist in the Database, then add the user
if (staffdb.Staffs.SingleOrDefault(s => s.Staffname == user) == null)
{

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...