2009-01-13 6 views
6

Ich benutze Linq zu SQL und versuche, Daten mit DataOptions und AssociateWith zu filtern. Ich habe eine Tabelle namens Produkte, die einen Primärschlüssel namens Id und ein Flag namens IsDeleted mit sql-Datentyp Bit hat.Unterabfrage wird nicht von 'IsDeleted' vom Typ 'Entities.Product' unterstützt

Wenn ich den folgenden Code verwende, bekomme ich "Unterabfrage wird nicht unterstützt auf 'IsDeleted' vom Typ 'Entities.Product'" Ausnahme auf AssociateWith-Methode.

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

Irgendwelche Ideen?

+1

Haben Sie jemals bekomme eine Lösung dafür, da ich genau das gleiche Problem habe – Coops

+0

Nicht wirklich eine Antwort auf die Frage, aber könnte jemandem helfen. Als ich eifrig geladen habe, habe ich 'AssociateWith' aus Versehen anstelle von' LoadWith' in meinen Code eingefügt und den gleichen Fehler angezeigt. – jahu

Antwort

1

Ich glaube, dass Sie nur zwei Filter auf einer Unterabfrage einer ein-> Beziehung erlaubt und nur einen bestimmten Satz von Ausdrücken verwenden können, hier beschrieben:
Wo
SortiertNach
ThenBy
OrderByDescending
Nehmen ThenByDescending

(mehr Infos hier http://msdn.microsoft.com/en-us/library/bb534221.aspx)

+0

Warum haben Sie ein bestimmtes Problem für @Mohammadreza angegeben? – Coops

Verwandte Themen