【发布时间】:2012-11-28 15:17:48
【问题描述】:
我想做一个 LINQ 查询,可以将多个变量与单个字符串进行比较。我见过LINQ for LIKE queries of array elements,它很有帮助,但并不完全。我需要反过来。
我想做的是:假设我有一个Company 对象,其中包含Name 和Address。我还有一个字符串keyword。然后,我想在keyword 或Name 或Address 的列表中找到所有Companys。在 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 子句,第二个......我不知道它做了什么,但它没有给我想要的东西。
对不起,我对表达式的理解还不是很深入;我希望我能够从头开始编写自己的自定义表达式,但是从头开始我还不能...有人可以帮助我吗?
【问题讨论】:
标签: c# sql linq entity-framework linq-to-sql