如何使用Lambda表达式在C#中的实体框架中同时比较数值和字符串值

如何使用Lambda表达式在C#中的实体框架中同时比较数值和字符串值,c#,linq-to-entities,C#,Linq To Entities,我想将搜索值与表列字段进行比较,如果我只将字符串值与contains属性进行比较,没有错误,但在比较数值和字符串值时,显示 不接受1个参数 如所附图片所示,您使用的是单一的赋值运算符。要进行比较,请使用==运算符: Where(p => p.VenerName.Contains(searchText) || p.PrimaryContact == id) 顺便说一句,在赋值之前,不需要为变量提供一些默认值。您可以简单地使用int id=int.Parse(searchText)还有一件事

我想将搜索值与表列字段进行比较,如果我只将字符串值与contains属性进行比较,没有错误,但在比较数值和字符串值时,显示

不接受1个参数


如所附图片所示,您使用的是单一的赋值运算符。要进行比较,请使用
==
运算符:

Where(p => p.VenerName.Contains(searchText) || p.PrimaryContact == id)

顺便说一句,在赋值之前,不需要为变量提供一些默认值。您可以简单地使用
int id=int.Parse(searchText)
还有一件事,先生,在上面,如果我在函数int值中进行筛选,它是可以的,但是如果我筛选字符串值,它会显示“输入字符串的格式不正确”。@Hamid这意味着您的searchText不能被解析为整数值。要避免此异常,您可以使用
Int32.TryParse
方法,如果值解析成功(您可以执行查询),该方法将返回true,或者返回false(您应该向用户显示错误消息)@Hamid您应该指定
out
参数。我做了这个,intid=Int32.TryParse(searchText);但显示“无重载方法不接受一个参数”@Hamid查看提供的链接,并仔细观察您正在使用的方法签名