在 LINQ 中使用两个参数搜索数据库表记录
本文关键字:参数 两个 搜索 数据库 记录 LINQ | 更新日期: 2023-09-27 18:30:27
我在那个表中有表调用Product
,我有以下列
- Product_ID
- Field_ID
我想使用 Product_ID
和 Field_ID
查找特定记录 为此,我写了以下代码段
if ((db.Product.Where(u => u.Product_ID == Product_ID))&(db.Product.Where(u => u.Field_ID == FieldID)))
{
// code here
}
但我得到了
以下错误
运算符"&"不能应用于类型的操作数 "智商"和"布尔"
您的异常消息是不言自明的。请查看 Where 的文档(它返回 IEnumerable'' IQuerable,但您已将此表达式写入if
中,该表达式需要布尔表达式,因此出现错误。
您应该改用 Any 来检查是否存在Product_ID
或Field_ID
:-
db.Product.Any(u => u.Product_ID == Product_ID && u.Field_ID == FieldID)
您可以在 Linq 中使用 &&
添加另一个筛选条件,因此查询将如下所示;
var LinqResult= db.Product.Where(u => u.Product_ID == Product_ID && u.Field_ID == FieldID)
if( !LinqResult.Any() ) // Check for result contains values or not
{
// your code
}
试试这个
var data = db.Product.Where(x => x.Product_ID == Product_ID && x.Field_ID == FieldID).ToList();
if(data.Count() > 0)
{
//Your code
}