En Entity Framework 4.1, ¿cómo puedo usar SqlQuery para crear objetos anónimos donde los detalles de la consulta no se conocen en tiempo de compilación?

Estoy usando EF 4.1 y necesito usar DbContext.Database.SqlQuery para ejecutar un proceso almacenado que efectivamente hará SELECCIONAR * DE la tabla dónde tabla (me disculpo, pero solo está disponible en Inglés) puede que ni siquiera exista en tiempo de compilación.

Probablemente estoy siendo pesado, pero no tengo ni idea de qué usar que representará un objeto que contiene los datos de una sola fila en la tabla.

No voy a operar en los objetos resultantes de tipo pero eventualmente se serializarán en JSON.

Si estoy preguntando lo imposible o inviable, ¡serán muy bienvenidos los indicadores de una ruta más fácil!

Pete Sykes

preguntado el 03 de mayo de 12 a las 15:05

2 Respuestas

El genérico en este evento es un objeto al que asignar los resultados. Incluso si solo los está serializando, debe poner los resultados en una lista de algo.

contestado el 03 de mayo de 12 a las 15:05

Gracias Hammerstein. Probablemente no estaba claro: entiendo los genéricos y eso es el tipo para recibir cada fila de los resultados, pero el problema es que no sé en el momento de la compilación ningún detalle de la tabla que pueda consultarse; de ​​hecho, es posible que la tabla ni siquiera exista en el momento de la compilación, por lo que no es posible codificar una clase para ello. Pensé que los objetos anónimos podrían ayudar, pero no he encontrado la manera de usarlos aquí. - user1372718

Actualmente estoy investigando un problema similar. Hasta ahora, he encontrado esta entrada de blog. Probablemente resolverá su problema, sin embargo, desconfío un poco de la creación de tipos sobre la marcha.

Respondido el 18 de junio de 12 a las 15:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.