在下面的代码中,profile
是一个字符串。我想知道在profile
是字符串数组或列表的情况下如何编写查询。即数组或列表可以有多个元素,如{'Profile1','profile2'}
var ccData = (from p in db.ChannelContacts where p.ProfileId == profile select p);
答案 0 :(得分:2)
您可以使用有效的联接:
var ccData = from p in db.ChannelContacts
join profileID in profiles // your collection
on p.ProfileId equals profileID
select p;
另一个效率较低的选项是Contains
:
var ccData = from p in db.ChannelContacts
where profiles.Contains(p.ProfileId)
select p;
答案 1 :(得分:1)
只需询问profile
是否包含ProfileId
var ccData = (from p in db.ChannelContacts
where profile.Any(prof => prof == p.ProfileId)
select p);