lunes, 13 de abril de 2020

Cómo corregir problema con datos duplicados en modelo datos, Linq to Sql.

PROBLEMA : En un proyecto Asp.Net, tengo mi modelo de datos utilizando Entity Framework. Si vemos la vista de la gráfica siguiente aparece como llave única el campo : IdRequest, pero al hacer un Query de dicha vista en el Sql Server Management me retornan los registros que están a la derecha de la gráfica.

Si esta vista la ejecuto con Linq to Sql, por duplicarsen la llave IdRequest en el Resultado de datos obtenidos hace que el Objeto retornado por Linq contenga datos incorrectos.



Al ejecutar con Linq se puede ver que se obtiene 4 registros, pero todos los campos estan duplicados (ver gráfica siguiente ), no se obtienen los datos que realmente retorna el Query, debido a que se viola el modelo de datos, donde el campo IdRequest es llave única.




SOLUCION : La forma como lo solucioné fue por programación haciendo una Proyeccion Linq sobre la vista y retornando una lista Anonima, con ello obtengo todos los registros correctamente, ya que no se utiliza el modelo de datos VRequest_MiscellaneousItems para dicho resultado, sino que al crear una Proyeccion se crea un modelo anónimo nuevo.



y listo,  esta es una solución. Leer más...>>