Ich habe eine Linq to Entities-Abfrage der folgenden Form:Die verschachtelte Abfrage wird nicht unterstützt. Operation1 = 'UnionAll' Operation2 = 'MultiStreamNest'
var x = from a in SomeData
where ... some conditions ...
select new MyType
{
Property = a.Property,
ChildCollection = from b in a.Children
select new MyChildType
{
SomeProperty = b.Property,
AnotherProperty = b.AnotherProperty
}
};
var y = from a in SomeData
where ... some other conditions ...
select new MyType
{
Property = a.Property,
ChildCollection = from b in a.Children
select new MyChildType
{
SomeProperty = b.Property,
AnotherProperty = b.AnotherProperty
}
};
var results = x.Concat(y);
(Dies ist ein vereinfachtes Beispiel - das 'wo' und 'Auswahl' Klauseln sind komplexer ., als hier gezeigt ich bin ist, hat einfach zu kompliziert, eine einzige kombinierte eine wie das Erstellen separate Abfragen-Anweisungen zu viele conditionals und nimmt ein Alter)
Compiliert fein, zu kompilieren, aber mit Ausnahme bei der Ausführung fehlschlägt:
"The nested query is not supported. Operation1='UnionAll' Operation2='MultiStreamNest'
Hinweis: Ich versuche, in eine verschachtelte typisierte Struktur zu projizieren. Wenn ich .ToList() auf x und y vor dem Concat() aufrufe, funktioniert es gut. Als weiteren Punkt ist eine meiner Eigenschaften eine Enumeration, die ich jedoch mithilfe einer Integer-Wrapper-Eigenschaft zuweisen kann.
Gibt es eine Möglichkeit, dass ich tun kann, was ich tun möchte, ohne alle Daten in den Speicher zu ziehen? Oder ist es das Enum, das den Fehler verursacht?
Danke,
T
Ich habe versucht, die zweite von diesen und scheint sich genauso zu verhalten wie zuerst, dh funktioniert nicht wie ich gehofft habe (siehe mein Kommentar auf @ Arions Beitrag. –
... die jetzt gelöscht wurde. Wie auch immer, don ' Denken Sie daran, Union zu verwenden, da die Ergebnismengen ohnehin unterschiedlich sein müssen, aber dann bekomme ich die Ausnahme "Die 'Distinct' -Operation kann nicht auf die Kollektion ResultType des angegebenen Arguments angewendet werden." Ich glaube, Distinct kann das Nested nicht verarbeiten –
Wenn leer? Wie ist es Verhalten? – innovia