2012-04-03 9 views
-2

Ich habe folgende FehlerBool in IQueryable

Error 1 Cannot implicitly convert type 'LightSwitchApplication.PatientsTelephoneFollowupDetail' to 'bool' 
Error 2 Cannot convert lambda expression to delegate type 'System.Func<LightSwitchApplication.PatientsTelephoneFollowupDetail,int,bool>' because some of the return types in the block are not implicitly convertible to the delegate return type 

Der Code ist

partial void StatusCallBackRequired_PreprocessQuery(ref IQueryable<PatientsTelephoneFollowupDetail> query) 
{ 

    query = query.Where(p=> p.PatientsMasterItem.PatientsTelephoneFollowupDetail.LastOrDefault(c => c.Status == "7")); 

} 

Ich möchte die Patienten Aufzeichnungen mit der letzten Telefonstatus zurückzukehren als 7.

+4

Sie müssen ein bisschen expliziter sein, was Sie wollen. Ich mag es nicht, Fragen zu beantworten, denn es sieht so aus, als ob das OP keine Anstrengungen unternommen hätte, um Klarheit zu schaffen. – JayC

Antwort

3

.LastOrDefault wird nach wie vor Rückkehr a PatientsTelephoneFollowupDetail, die, wie der Fehler vermuten lässt, kein wahrer oder falscher Wert ist. Wenn Sie sich für die Sache des Existenz überprüfen möchten, verwenden .Any:

query = query.Where(p => p.PatientsMasterItem.PatientsTelephoneFollowupDetail.Any(c => c.Status == "7")); 
0

Der Delegierte in der Where sollte einen boolean zurück.

p => p.PatientsMasterItem.PatientsTelephoneFollowupDetail.LastOrDefault(c => c.Status == "7") 

wird definitiv nicht eins sein.

Was genau möchten Sie tun?

+0

Ich würde gerne die Patientenakten mit dem letzten Telefonstatus als 7 – user1213055

+0

zurückgeben Sie könnten das zu Ihrer Frage hinzugefügt haben, das hätte * enorm geholfen * (BTW, Sie können das immer noch tun.) – JayC

+0

Nur realisiert, dass ich nicht hinzugefügt habe erwartetes Ergebnis. Aktualisiert. – user1213055