La clause dans l'expression lambda

var Charts = chartGroup
     .Descendants("charts")
     .Elements("chart")
     .Where(x => x.Attribute("id").Value == chartId.ToString())
     .Select(x => x.Attribute("name").Value).ToList();

Ici, je veux utiliser une "clause de sauvegarde"" (comme le in clause SQL) pour Attribute("id").Value pour tableau de chaînes de caractères:

comme:

Where(x => x.Attribute("id").Value in ("1","2")
Where(x => x.Attribute("id").Value` in charIds[]

comment faire?

Si vous n'êtes pas à l'aide de la plaine de LINQ to objects, vous devez garder à l'esprit que certains IQueryable fournisseurs de ne pas mettre en œuvre toutes les constructions de vous jeter sur eux (comme Contains). Des versions plus récentes de pratiquement tous les ORM cadres de gérer cela, mais en plus âgés, vous seriez obligé de pirater certains SQL vous-même. Bien sûr, cela ressemble à ce travail sur la plaine des objets CLR.

OriginalL'auteur Madhuri Lad | 2013-11-26