Warum kann eine Klausel nicht in SQL übersetzt werden?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Warum kann eine Klausel nicht in SQL übersetzt werden?

Post by Anonymous »

Ich habe ein Code-Snippet, das mit einer Where-Klausel verwendet wird.private List Example2()
{
var query1 =
from c in _context.Customers
let custPurchases = _context.Purchases.Where(p => p.CustomerId == c.Id)
where custPurchases.Any(x => x.Price > 500)
select c.Name;

return query1.ToList();
}
< /code>
Es kompiliert gut, aber ich erhalte einen solchen Fehler während der Ausführung: < /p>

System.inValidoperationException: Die Abfrage enthält eine Projektion 'c => dbset ()
.Where(p => P.Customerid == C. id)'. Sammlungen in der endgültigen Projektion müssen ein "iEnumerable" -Typ wie "Liste" sein. Erwägen Sie, "Tolist" oder einen anderen Mechanismus zu verwenden, um die "iQueryable" oder "iordedenenumerable" in ein "iEnumerable" umzuwandeln. Wo begegnet LINQ zu SQL auf das Problem während der Übersetzung? /> Vielleicht können Sie Literatur oder Links zur Verfügung stellen, um tiefer in die Ausdrucksbaumwelt zu graben? < /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post