Почему Entity Framework не сможет использовать ToString () в операторе LINQ?
Этотработает в 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);
}
Но аналогичный пример в Entity Framework получаетсообщение об ошибке в основном это говорит о том, что он не может «перевести его на SQL», вот оригинальное сообщение об ошибке на немецком языке:
"LINQ to Entities" erkennt die Methode "System.String ToString () 'nicht, und diese Methode kann nicht in einen Speicherausdruck übersetzt werden."
Перевод:
«LINQ to Entities не распознает метод System.String ToString ()», этот метод не может быть преобразован в выражение памяти.
Может кто-нибудь пролить свет на то, как мы можем заставить такого рода оператор работать в Entity Framework, или объяснить, почему он получает эту ошибку?