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

How do I check if the user's input exists in the database table?

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

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

private WeaponEntities dbContext = new WeaponEntities();

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

}

您可以使用 Any

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

如果任何实体与该表达式匹配,则该表达式将 return true

您可以使用 任一个 任何 个 Exists 来执行此操作。

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

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

我建议使用 Exists,因为它往往优于 Any。