使用LINQ到SQL联接中的包含
本文关键字:包含 LINQ SQL 使用 | 更新日期: 2023-09-27 18:20:54
如何在没有完全匹配的情况下进行LINQ到SQL联接?例如,假设我有一个包含数据John Smith (2)
的表form
,并且我想将其加入表name
中的字段Smith
。像这样的
var query =
from f in db.form
join n in db.name
on f.nameField like '%' + n.firstName + '%'
虽然like
关键字似乎对我不可用。
不能在Linq联接中使用like
。事实上,在Linq中根本不能使用like
,只能使用传统的字符串方法,如StartsWith
、EndsWith
或Contains
。
你必须这样做:
var query =
from f in db.form
from n in db.name.Where(x => f.nameField.Contains(x.firstName))
...
实际上,有一种方法可以做到这一点,但它不如使用标准的linq东西那么整洁:
from c in dc.Organization
where SqlMethods.Like(c.Hierarchy, "%/12/%")
select *;
(借用用户L p在链接问题中的回答)