Soy un poco novato cuando se trata de SQL a SQL pero espero que pueda ayudar. He escrito la siguiente declaración de LINQ to SQL con métodos de extensión:¿Por qué recibo "Reparto inválido" cuando uso Linq para SQL?
Cedb.ClassEvents.Where(c => c.ClassID == 1).Select(c => c).Single()
Dónde CEDB es el DataContext, ClassEvents es una tabla (para clases y eventos que tienen lugar en una instalación) y ClassID es una clave entero único.
Esta consulta funciona bien en LinqPad (sin Cedb). Cuando vuelve, dice que el tipo de devolución es "ClassEvent". En Intellisense en Visual Studio, me dice que el tipo de devolución de esta consulta es ClassEvent (creado en mi modelo de datos). Sin embargo, cuando trato de colocar los resultados en una variable:
var classEvent = Cedc.ClassEvents.Where(c.ClassID == 1).Select(c => c).Single();
en cuando me siento un error: InvalidCastException: especificar la conversión no es válida. Lo mismo ocurre si utilizo la clase "ClassEvent" en lugar de la var. Soy nuevo en esto, pero este parece ser un verdadero mate en lugar de un error. ¿Hay algo sobre el método único que no sé que conduce al error? ¡Cualquier ayuda sería apreciada!
Gracias por su respuesta, lamentablemente esto significa que no podemos usar Linq en SQL para hablar con una base de datos que podría tener un esquema ligeramente diferente? – jpierson