Dlaczego Entity Framework nie może używać ToString () w instrukcji LINQ?
ToPrace w LINQ-to-SQL:
var customersTest = from c in db.Customers
select new
{
Id = c.Id,
Addresses = from a in db.Addresses where c.Id.ToString() ==
a.ReferenzId select a
};
foreach (var item in customersTest)
{
Console.WriteLine(item.Id);
}
Ale podobny przykład w Entity Framework otrzymujeKomunikat o błędzie mówi, że w zasadzie nie można „przetłumaczyć na SQL”, oto oryginalny komunikat o błędzie w języku niemieckim:
„'LINQ do Entities' erkennt die Methode 'System.String ToString ()' nicht, undse Methode kann nicht in einen Speicherausdruck übersetzt werden.”
Tłumaczenie:
„LINQ to Entities” nie rozpoznaje metody „System.String ToString ()”, tej metody nie można przetłumaczyć na wyrażenie pamięci.
Czy ktoś może rzucić jakieś światło na to, jak moglibyśmy uzyskać ten rodzaj instrukcji do pracy w Entity Framework lub wyjaśnić, dlaczego ten błąd się pojawia?