"WHERE IN" - Abfrage mit LINQ to SQL
Nach etwas probieren hatte ich dann heraus, wie ich mit LINQ to SQL einen "WHERE IN" - Abfrage bekommen:
List<string> tmpList = new List<string>();
foreach (Group group in user.Groups)
tmpList.Add(Group.ShortName);
string[] tmpArr = tmpList.ToArray<string>();
var calendars = from cal in db.Calendars
where (tmpArr.Contains(cal.OWNER))
select cal;
Die Contains-Abfrage in der WHERE Bedingung erzeugt eine "WHERE IN"- Abfrage in dem Stil
([t0].[OWNER] IN (@p1, @p2, @p3, @p4))
Ganz einfach...
Man muss es nur wissen...
Bzw. jemand sollte es mal dokumentiert haben ;-)