2009-01-13 7 views
6

Estoy utilizando Linq a SQL y estoy tratando de filtrar datos usando DataOptions y AssociateWith. Tengo una tabla llamada Productos que tiene una clave principal llamada Id y un indicador llamado IsDeleted con bit de tipo de datos sql.La subconsulta no es compatible con 'IsDeleted' del tipo 'Entities.Product'

Cuando uso el siguiente código obtengo "La subconsulta no es compatible con 'IsDeleted' de tipo 'Entities.Product'" excepción en el método AssociateWith.

var context = new DataContext(); 
DataLoadOptions options = new DataLoadOptions(); 
options.AssociateWith<Product>(p => !p.IsDeleted); 
context.LoadOptions = options; 

¿Alguna idea?

+1

¿alguna vez Obtenga una solución para esto ya que tengo exactamente el mismo problema – Coops

+0

No es realmente una respuesta a la pregunta, pero podría ayudar a alguien. Cuando estaba haciendo una carga ansiosa, por error puse 'AssociateWith' en mi código en lugar de' LoadWith' y terminé con el mismo error. – jahu

Respuesta

1

Creo que sólo se le permite dos filtros en una sub consulta de un uno> muchos relación y sólo se puede utilizar un conjunto específico de expresiones, se detalla aquí:
Dónde
OrdenarPor
ThenBy
OrderByDescending
ThenByDescending
Tome

(más información aquí http://msdn.microsoft.com/en-us/library/bb534221.aspx)

+0

¿Por qué has dicho un problema específico para @Mohammadreza? – Coops

Cuestiones relacionadas