检查表中的记录

时间:2010-08-13 02:31:55

标签: c# linq-to-sql

我试图在if语句中检查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)
{

}

关于这一点,我有点新手,但我已经做了一些网络搜索,似乎无法找到任何东西。

2 个答案:

答案 0 :(得分:2)

正确的解决方案是:

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

这可确保数据库在找到数据库后停止查找。如果您使用.Where()后跟.Count(),它可能会遍历整个表并检索比所需更长的列表。

答案 1 :(得分:0)

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

}