¿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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta