如何检查数据库表中是否存在用户输入?

时间:2016-03-18 13:34:08

标签: c# sql linq lambda dbcontext

所以我有Weapons数据库。我的应用程序的工作方式是,如果用户在文本框中输入内容,我的程序将搜索WeaponName表以查看它是否存在。

问题是当我使用这个Lambda / LINQ时,它不能将它用作bool值。

private WeaponEntities dbContext = new WeaponEntities();

if (dbContext.Weapons.Where(weapon => weapon.WeaponName == searchBox.Text))
{

}

2 个答案:

答案 0 :(得分:6)

您可以使用Any

检查是否存在某些内容
dbContext.Weapons.Any(weapon => weapon.WeaponName == searchBox.Text)

如果任何实体与表达式匹配,则此表达式将返回true

答案 1 :(得分:1)

您可以使用 任意 of Exists来执行此操作。

dbContext.Wepons.Any(w => w.WeaponName.Equals(searchBox.Text, StringComparison.CurrentCultureIgnoreCase))

<击> 或

dbContext.Wepons.Exists(w => w.WeaponName.Equals(searchBox.Text, StringComparison.CurrentCultureIgnoreCase))

我建议存在,因为它往往优于任何。