2011-05-10 17 views
5

que estaba en primer lugar utilizando LINQ to SQL en mi proyecto y utilizan la siguiente declaración:resultados diferentes en Marco de la entidad de LINQ a SQL

var ProjectRouteEmails = EmailManagerDAL.Context.ProjectRouteEmails 
      .Where(p => p.ProjectID == ProjectID); 

Eso devuelve correctamente los tres mensajes de correo electrónico distinta de la vista ProjectRouteEmails. Los ID devueltos desde la tabla de correos electrónicos fueron 117, 591 y 610.

Cambié a LINQ a Entidades y uso la misma vista y la misma declaración LINQ, pero a pesar de que estoy obteniendo tres registros, es el primer registro , ID 117, que se devuelve tres veces.

he intentado escribir el DECLARACIÓN LINQ como esto:

var ProjectRouteEmails = from p in EmailManagerDAL.Context.ProjectRouteEmails 
           where p.ProjectID == ProjectID 
           select p; 

pero no había ninguna diferencia; el mismo registro regresó tres veces.

entré en SQL Server Management Studio y corrieron la consulta:

select * from ProjectRouteEmails (nolock) 
where ProjectID = 12 

y los tres correcta, registros únicos devueltos.

¿Qué está pasando aquí?

Gracias!

+0

Me corroborar cómo se está iteración a través de esta opción para emitir sonidos a pescado ... – hunter

+0

estoy simplemente enlazarlo a una cuadrícula. También tengo un conjunto de puntos de interrupción y examinarlo en la ventana del reloj muestra los mismos resultados. – user390480

Respuesta

5

Asegúrese de que la clave de entidad se configura correctamente para ProjectRouteEmails en el modelo de datos Entidad. A veces, las claves de entidad se arruinan cuando se importa la vista en el modelo.

+0

Interesante ... ¿me puede dar detalles o más detalles? ¿Está en el objeto de la entidad? O ... ¿algunos metadatos relacionales? Algunos pueden usar las herramientas para crear el modelo de datos de la entidad sin profundizar en los aspectos prácticos. – IAbstract

+0

¡¡QUE FUE !!!! Gracias Aducci! Parecía haber seleccionado arbitrariamente un campo de texto como la clave de entidad. Lo cambié al campo correcto y funciona. ¡Gracias! – user390480

+2

Solo para referencia futura para otros. Abra el edmx luego su vista, haga clic derecho en el campo y agregue la clave de entidad. – causita

Cuestiones relacionadas