Проверьте на запись в Таблице

Я пытаюсь проверить на существование записи в таблице SQL в, если оператор, я пытался использовать.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)
{

}

Я - немного новичок когда дело доходит до этого, но я сделал немного поиска сети и, может казаться, не нахожу, что что-либо уходит.

1
задан John Farrell 13 August 2010 в 02:50
поделиться

2 ответа

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

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

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

2
ответ дан 2 September 2019 в 22:11
поделиться
// If the current user does not exist in the Database, then add the user
if (staffdb.Staffs.SingleOrDefault(s => s.Staffname == user) == null)
{

}
0
ответ дан 2 September 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: