Ich muss überprüfen, ob alle Definitionen bestimmte Daten enthält. Es funktioniert gut außer dem Fall, wenn GroupBy leere Sammlung zurückgibt.Linq Alle auf leere Sammlung
Wie umschreiben Sie das so, dass alle auf leere Sammlung false zurückgeben würden?
UPDATE: Es ist ein LINQ zu SQL und ich wollte dies in Einzelanruf ausführen.
UPDATE2: Ich denke, das funktioniert:
var exist = dbContext.Definitions
.Where(x => propertyTypeIds.Contains(x.PropertyTypeId) && x.CountryId == countryId)
.GroupBy(x => x.PropertyTypeId)
.Count(x => x
.All(...some condition...)) == propertyTypeIds.Count;
Ist dies LINQ zu Objekten oder etwas anderes? Die Antworten könnten radikal anders sein. –
Versuchen Sie mit AllOrDefault – elloco999
'All' wird nicht false für eine leere Sammlung zurückgeben. Siehe hier: http://stackoverflow.com/questions/7884888/why-does-enumerable-all-return-true-for-an-empty-sequence – sr28