Почему 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, или объяснить, почему он получает эту ошибку?

Ответы на вопрос(4)

Ваш ответ на вопрос