我在实体框架中有一个父/子表,我需要根据子主键从父级中选择一些行。
我写了这些代码:
List<int> s = (from all in DB.TbProfiles
where all.TbMaharat.Any(c => maharat.Contains(c.MaharatId))
select all.ProfileId).ToList();
但我发现 Linq2Entity 不支持“包含”,我必须使用“MultiSet”和 ESQL 命令。但我可以找到任何样本来做到这一点。
我这样写 ESQL 但它不起作用:
byte[] moshTypes = new byte[] { 1, 2, 3 };
List<int> s = DB.TbProfiles.Where("it.TbMaharat exists(Select 0 from TbMaharat as e where e.MaharatId IN MultiSet (" + string.Join(",", moshTypes) + "))")
.Select(c=>c.ProfileId).ToList();
return s;
谁能帮我?