none
Problema con SqlQuery en Entity Framework RRS feed

  • Pregunta

  • Buenas tardes,

    estaba intentando ejecutar una query con sqlquery como en el siguiente link con el método sqlquery:

    http://www.binaryintellect.net/articles/fbc96859-8a31-4735-baeb-7adcbc521b30.aspx

    Sin embargo, tengo un problema y es que el tipo que tengo que pasarle varía. Es decir unas veces me traeré unas columnas de unas tablas y en otras ocasiones me traeré otras columnas de otras tablas por lo que no puedo personalizar un tipo. Había pensado almacenar lo que obtengo en un List<string> pero no me lo mapea. Me han comentado que usase el objeto del contexto de EF con ADO.net pero no encuentro la forma. ¿Algún link o algo dónde expliquen esto?

    Muchas gracias y un saludo

    lunes, 18 de enero de 2016 15:36

Todas las respuestas

  • Hola, en ejemplo que mencionas como puedes ver la instrucción db.Database.SqlQuery<CustomerInfo> indica el tipo CustomerInfo y entonces ese tipo se llena con la información de la consulta. Ahora, lo que describes pues no lo podras hacer de esta manera ya que la información que regresas pues es dinámica.

    Lo que debes de hacer para seguir utilizando esta forma, es crear tipos dinámicos, lo cual puedes lograr utilizando reflection para crear los tipos, y entonces si indicar ese tipo en el método SqlQuery. 

    Aqui hay una solución:

    dynamic type in Entity Framework

    Saludos

    lunes, 18 de enero de 2016 18:19