Entity Framework 4.1 Linq Contient et StartsWith
Je suis en utilisant Entity Framework Code First. Je veux interroger les entités de la base de données contre les objets de la Liste. Cela fonctionne bien avec les contient, mais comment puis-je combiner avec StartsWith?
C'est mon code:
List<string> values = new List<string>();
values.Add("A");
values.Add("B");
context.Customer.Where(c => values.Contains(c.Name)).ToList();
Comment pouvez-j'ai une requête à l'encontre de tous les clients qui commence par un a ou Un B?
OriginalL'auteur LuckyStrike | 2012-01-12
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner dans la mémoire, mais je ne sais pas si il pourrait être traduit en SQL par EF:
href="https://stackoverflow.com/a/44372562/335858">Cela peut être lié
OriginalL'auteur dasblinkenlight
Vous n'avez pas besoin de le combiner avec StartsWith, car si elle commence par A ou B, alors il est évident qu'elle contient Un ou B. Il ne peut pas démarrer, avec A ou B et ne pas contenir Un ou B.
Juste utiliser StartsWith au lieu de les Contient.
Je dirais que si vous avez de telles exigences, de les inclure dans votre question. Sinon vous suffit de déchets de tout le monde de temps en rejetant les solutions qu'ils ne pouvaient pas savoir, n'étaient pas à ce que vous recherchez.
OriginalL'auteur Erik Funkenbusch
Vous pouvez essayer de combiner les deux fonctions de cette façon:
context.Customerwhere
il devrait être à partir de C encontext.Customer where
OriginalL'auteur Josh Jones