¿Por qué Entity Framework no podría usar ToString () en una declaración LINQ?
Estatrabajos en 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);
}
Pero un ejemplo similar en Entity Framework obtiene unamensaje de error básicamente dice que no se puede "traducir a SQL", aquí está el mensaje de error original en alemán:
"'LINQ to Entities' erkennt die Methode 'System.String ToString ()' nicht, und diese Methode kann nicht in einen Speicherausdruck übersetzt werden".
Traducción:
"'LINQ to Entities' no reconoce el método 'System.String ToString ()', este método no se puede traducir a una expresión de memoria.
¿Alguien puede arrojar alguna luz sobre cómo podemos hacer que este tipo de declaración funcione en Entity Framework o explicar por qué se produce este error?