2011-08-31 24 views
8

Esta es la primera vez que uso Entity Framework y obtengo algunos resultados confusos. Conozco a una tabla en particular contiene 3 filas distintas cuando corro esta consulta SQL:La consulta del marco de entidades devuelve la misma fila varias veces

SELECT * FROM mytable WHERE service_month = 201012 

Cuando ejecuto esta consulta en el marco embargo, me sale 3 filas, pero son todas las copias de la primera fila (sintaxis VB)

Dim temp = _context.mytable.Where(Function(x) x.service_month = 201012) 

¿Configuré algo incorrectamente? Así es como lo haría con LINQ to SQL, así que siento que me falta algo.

+0

¿qué estás haciendo con 'temp' para verificar los valores? –

Respuesta

18

Corrija la definición de la clave principal en su EDMX. (Si su tabla no tiene PK, agregue una.) Cuando todas las filas devuelven la misma "clave", el EF devuelve la misma instancia de objeto.

+1

Bingo. Estoy usando tablas de informes configuradas por otra persona y no tenían una clave principal. Gracias. – gfrizzle

+6

Incluso si los desarrolladores llaman a esto una función, lo llamo un error. Muchas gracias por la solución. – Chris

+0

Gracias @Craig. Acaba de descubrir que la tabla en la que estoy trabajando no tiene clave principal. –

Cuestiones relacionadas