Ich habe eine Linq to Entities wie diese Abfrage:Linq gibt Liste oder einzelnes Objekt
var results = from r in entities.MachineRevision
where r.Machine.IdMachine == pIdMachine
&& r.Category == (int)pCategory
select r;
Normalerweise verwende ich den Code unten zu überprüfen, ob einige Ergebnisse zurückgegeben werden:
if (results.Count() > 0)
{
return new oMachineRevision(results.First().IdMachineRevision);
}
jedoch Ich bekomme NotSupportedException im wenn Zustand.
Die Fehlermeldung lautet: Es konnte kein konstanter Wert vom Typ 'Schließungstyp' erstellt werden. Nur primitive Typen ('wie Int32, String und Guid') werden in diesem Kontext unterstützt.
Beachten Sie, dass pCategory ein Enum-Typ ist.
Immer noch nicht funktioniert, weil wir versuchen, die FirstOrDefault() auszuführen Methode für ein Entitätsobjekt (das ist, was von der linq-Anweisung zurückgegeben wird) und kein IEnumerable –
Auswahl gibt immer ein IEnumerable zurück, siehe Dokumentation hier http://msdn.microsoft.com/en-us/library/bb548891.aspx. Bist du sicher, t Hat das Beispiel genau das gleiche wie dein Code? – tvanfosson
Mein Fehler, ich entschuldige mich dafür. Um den Code zu vereinfachen, habe ich ein enum entfernt, genau wie tvanfosson durch die Fehlermeldung, die ich bekam, bemerkt wurde. Danke an alle und tut mir leid, dass ich dich irregeführt habe. –