Warum kann ich die First / FirstOrDefault-Methode von LINQ nicht in OData verwenden?

8

Ich kann Folgendes tun:

container.Users.Where(u => u.Name == "Omar").FirstOrDefault()

aber

container.Users.FirstOrDefault(u => u.Name == "Omar")

gibt NotSupportedException (The method 'FirstOrDefault' is not supported.) zurück.

Da diese im Wesentlichen gleich sind, warum wird es nicht unterstützt?

    
Omar 26.04.2013, 16:03
quelle

1 Antwort

9

Das vom OData-Provider verwendete LINQ-Translation-Modul behandelt nicht jedes Szenario.

Obwohl diese logisch identisch sind, muss der Ausdruck für jede Datei generiert werden, um die Abfragezeichenfolge zu erstellen. Die Engine unterstützt die zweite Form nicht.

    
Reed Copsey 26.04.2013, 16:05
quelle

Tags und Links