C# 如何检查数据库表中是否存在用户输入?
所以我有我的武器数据库。我的应用程序的工作方式是,如果用户在文本框中键入内容,我的程序将搜索WeaponName表,查看它是否存在 问题是,当我使用这个Lambda/LINQ时,它不能将其用作布尔值C# 如何检查数据库表中是否存在用户输入?,c#,sql,linq,lambda,dbcontext,C#,Sql,Linq,Lambda,Dbcontext,所以我有我的武器数据库。我的应用程序的工作方式是,如果用户在文本框中键入内容,我的程序将搜索WeaponName表,查看它是否存在 问题是,当我使用这个Lambda/LINQ时,它不能将其用作布尔值 private WeaponEntities dbContext = new WeaponEntities(); if (dbContext.Weapons.Where(weapon => weapon.WeaponName == searchBox.Text)) { } 您可以使用任何
private WeaponEntities dbContext = new WeaponEntities();
if (dbContext.Weapons.Where(weapon => weapon.WeaponName == searchBox.Text))
{
}
您可以使用任何
如果任何实体与表达式匹配,此表达式将返回true。您可以使用 如果任何实体与表达式匹配,则此表达式将返回true。您可以使用任意一个Exists来执行此操作 或 我认为它的存在是因为它的表现往往优于任何一种 您可以使用任意一个Exists来执行此操作 或
我认为它的存在是因为它的表现往往优于任何一种 不,但若有0个或更多,你们可以计数……使用“不”,但若有0个或更多,你们可以计数……使用“实际上你们不能在这里使用exists”,因为它是在列表中定义的。任何一个都不会有那么糟糕的性能,因为它会在找到匹配的元素后立即返回。然而,如果性能是您在使用sql之后的状态,您可能希望使用EXISTS关键字。实际上,您不能在此处使用EXISTS,因为它是在列表中定义的。任何一个都不会有那么糟糕的性能,因为它会在找到匹配的元素后立即返回。但是,如果性能是您在使用sql和EXISTS关键字之后的状态,那么您可能希望使用sql。
dbContext.Weapons.Any(weapon => weapon.WeaponName == searchBox.Text)
dbContext.Wepons.Any(w => w.WeaponName.Equals(searchBox.Text, StringComparison.CurrentCultureIgnoreCase))
dbContext.Wepons.Exists(w => w.WeaponName.Equals(searchBox.Text, StringComparison.CurrentCultureIgnoreCase))