Tengo una vista específica creada en mi base de datos (se une a 5-6 tablas con una combinación izquierda). Esta vista se agrega a mi edmx (entidad marco 1.0). Hace poco me di cuenta de que uno de los discos de la columna obtenido mediante el edmx (LINQ a las entidades y luego ToList()) consiguió duplica varias veces, aunque en la vista de la base de datos eran diferentesdiscrepancia en el resultado del marco de entidades para las vistas de una base de datos
Column-N (Expected result/ result from DB view)
---------
data1
data2
data3
data4
data5
Column-N(Actual result generated by entity framework)
---------
data1
data1
data1
data1
data1
disparé mi Analizador de SQL, tengo la consulta que envió mi aplicación a SQL Server, la ejecutó y me devolvió el resultado esperado.
MSDN tiene una publicación similar here y here pero el moderador no ha explicado cómo resolver este problema. Mi llave pasa a ser un GUID
La causa usted ha señalado creo es correcto, el problema está en el mapeo lado EF aplicación, como EF tiene reglas de mapeo de objetos diferentes con base de datos. cuando se devuelven los resultados de la consulta de la base de datos, EF hará la asignación en la memoria de la aplicación de acuerdo con su propia lógica diseñada.
Es importante tener en cuenta estas lógicas al diseñar su consulta de vista en su base de datos. I creo que debe hacer algún ajuste en su consulta de vista.
No estoy seguro de si se ha ordenado el problema, si no por favor proporcionar la estructura de base de datos relacionado con este tema y la consulta vista que se tiene escrita.
Gracias Binze
Alguien ha encontrado un problema similar antes?
Tienes razón.Estaba asumiendo erróneamente que estaba recogiendo mi GUID como clave principal hasta que fui y vi el Modelo de almacenamiento y el Modelo conceptual. Estaba usando alguna otra columna como la clave principal y, por lo tanto, el desorden. Solucionado al cambiar la clave manualmente (sin usar la GUI VS2008) – ram