我想做一个 LINQ 查询,可以将多个变量与单个字符串进行比较。我已经看到LINQ for LIKE queries of array elements,它很有帮助,但并不完全。我需要反过来。
我想做的是以下几点:假设我有一个Company
对象同时具有Name
and Address
。我也有一个字符串keyword
。然后,我想Company
在一个列表中找到所有 s 中keyword
的Name
or Address
。在 SQL 中,它将是...
SELECT * FROM Company
WHERE Name LIKE '%keyword%' OR Address LIKE '%keyword%'
我一直在使用实体框架,并且尝试了以下方法:context.Companies.Where(x => new string[] { x.Name, x.Address }.Contains(keyword)
,以及context.Companies.Where(x => new string[] { x.Name, x.Address }.Any(r => r.Contains(keyword))
,但都没有成功。第一个给了我一个IN
子句,第二个......我不知道它做了什么,但它没有给我我想要的东西。
对不起,我对 Expressions 的理解还不是很深入;我希望我能够从头开始编写自己的自定义表达式,但是从头开始我还不能……有人可以帮我吗?