我在SQL中有一个过程,我试图转化为Linq:
SELECT O.Id, O.Name as Organization
FROM Organizations O
JOIN OrganizationsHierarchy OH ON O.Id=OH.OrganizationsId
where OH.Hierarchy like '%/12/%'
我最关心的一行是:
where OH.Hierarchy like '%/12/%'
我有一个存储层次结构的列,例如/1/3/12/,所以我只使用%/12/%来搜索它。
我的问题是,Linq或。net中使用百分号的等价是什么?
Contains在Linq中使用,就像like在SQL中使用一样。
string _search="/12/";
……
.Where(s => s.Hierarchy.Contains(_search))
你可以像下面这样在Linq中编写SQL脚本:
var result= Organizations.Join(OrganizationsHierarchy.Where(s=>s.Hierarchy.Contains("/12/")),s=>s.Id,s=>s.OrganizationsId,(org,orgH)=>new {org,orgH});
Contains在Linq中使用,就像like在SQL中使用一样。
string _search="/12/";
……
.Where(s => s.Hierarchy.Contains(_search))
你可以像下面这样在Linq中编写SQL脚本:
var result= Organizations.Join(OrganizationsHierarchy.Where(s=>s.Hierarchy.Contains("/12/")),s=>s.Id,s=>s.OrganizationsId,(org,orgH)=>new {org,orgH});