У меня есть родительская / дочерняя таблица в Entity Framework, и мне нужно выбрать строку из родительского на основе дочернего первичного ключа.
Я пишу эти коды:
List<int> s = (from all in DB.TbProfiles
where all.TbMaharat.Any(c => maharat.Contains(c.MaharatId))
select all.ProfileId).ToList();
но я обнаружил, что Linq2Entity не поддерживает «Contains», и я должен использовать «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;
Кто-нибудь может мне помочь?