Ich habe Folgendes geschafft:
%Vor%Aber zuletzt, als ich versuchte, eine dritte Ausgabe hinzuzufügen,
%Vor%Ich habe den folgenden Fehler erhalten
so oder so wirft es folgenden Fehler
Error 1 Instanzargument: Konvertierung von 'System.Collections.Generic.List & lt; AnonymousType # 1 & gt;' zu 'System.Linq.IQueryable & lt; AnonymousType # 2 & gt;'
Fehler 2 'System.Collections.Generic.List & lt; AnonymousType # 1 & gt;' enthält keine Definition für 'Union' und die beste Erweiterungsmethode Überladung 'System.Linq.Queryable.Union & lt; TSource & gt; (System.Linq.IQueryable & lt; TSource & gt ;, System.Collections.Generic.IEnumerable & lt; TSource & gt;) hat einige ungültige Argumente
Der einzige Unterschied in der dritten Sequenz ist, dass ich eine Verbindung mit einer anderen Tabelle verwende. Ich habe probiert .AsEnumerable()
, .ToList()
und .ToArray()
, keine von ihnen geholfen.
Wenn Sie interactions
erstellen, ist sein Typ kein anonymer Typ von int und DateTime, sondern von int und Nullable DateTime. Dies liegt daran, dass Sie in Ihrer Inline-if-Anweisung niemals .Value
von der Spalte "NULL" entfernen. Ihr Code sollte funktionieren, wenn Sie interactions
wie folgt erstellen:
Einfacheres Beispiel:
%Vor%Obwohl wir leicht erkennen können, dass die Inline-If-Anweisung in beiden Fällen niemals einen Nullwert zurückgibt, kann der Compiler keine solchen Garantien geben und muss den Rückgabewert im zweiten Fall an den Wert eines Nullable-Int eingeben. p>
Höchstwahrscheinlich sind t1.Key und i1.Key unterschiedliche Typen. Die anonymen Typen müssen genau die gleichen Eigenschaftennamen und -typen haben, die in derselben Reihenfolge deklariert sind, damit Sie sie verbinden können.
Als Nebenbemerkung möchten Sie wahrscheinlich auch diese Zeile Ihres Codes ändern:
%Vor%dazu:
%Vor%Andernfalls wird die Union nicht ausgeführt, da Sie die resultierende Abfrage nicht gespeichert haben.
Tags und Links c# entity-framework linq linq-to-entities