El método ‘System.String ToShortDateString()’ no admite la conversión a SQL

Existen una serie de métodos de C# que no tienen conversión a LINQ. Bueno, más bien que no tengan conversión es que no introducimos la sintaxis correcta. Yo me he topado con el error: «El método ‘System.String ToShortDateString()’ no admite la conversión a SQL.»

En la siguiente consulta:

var variable= (from x in storage.Tabla
where  x.Fecha.ToShortDateString() == otrostring
select x).Any();

La solución es la siguiente:

var variable= (from x in storage.Tabla<strong>.AsEnumerable()</strong>
where x.Fecha<strong>.ToShortDateString()</strong>  == otrostring
select x).Any();

En la siguiente entrada dispones de más información del método AsEnumerable(), que básicamente lo que realiza es no forzar la traducción instantánea de LINQ a SQL y trabaja localmente con LINQ to Objects.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *