Völlig verwirrt über die hier erforderlichen Datentypen.Convert Linq ObjectQuery IQueryable zu IEnumerable
Ich habe diese Aussage Linq:
var feat = AllCustomers
.Select(c => c.CustomerServices.SelectMany(cs => cs.CustomerServiceFeatures)
.SelectMany(csf => csf.ConfigElements).Where(ce => ce.Name == "ItemType").Select(ce => ce.Value).Distinct());
Es die erforderlichen Daten zurückgibt, und VS sagt mir, dass der Typ festgelegt wird, wie:
System.Data.Objects.ObjectQuery<System.Collections.Generic.IEnumerable<string>>
Allerdings möchte ich diese Daten hinzufügen in eine Liste von Strings:
List<string> itemTypes = new List<string>();
itemTypes.AddRange(feat);
Aber das wirft einen Fehler:
Argument 1: cannot convert from 'System.Linq.IQueryable<System.Collections.Generic.IEnumerable<string>>' to 'System.Collections.Generic.IEnumerable<string>'
Ich kann die erforderliche Syntax nicht finden, um den richtigen Typ zu konvertieren. Kann jemand helfen? ,
var itemTypes = feat.ToList();
Die Antwort war, dass ich die ganze Zeit direkt ins Gesicht starrte, ich versuchte alle möglichen SelectMany() Tricks außer dieser. Auch .. diese Antwort war sehr schwer für Google! –