如何检查用户的输入是否存在于数据库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。
所以我有我的 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。