2012-04-03 27 views
-2

我有以下錯誤布爾在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 

的代碼是

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

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

} 

我想回到去年的狀態電話的病人記錄爲7

+4

你需要更清楚一點,你想要什麼。我不喜歡回答OP看起來沒有努力表明的問題。 – JayC 2012-04-03 02:30:10

回答

3

.LastOrDefault仍然會返回一個PatientsTelephoneFollowupDetail,正如錯誤所暗示的那樣,它不是一個真實或錯誤的值。如果您要檢查該項目的存在,使用.Any

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

的委託Where內應返回一個布爾值。

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

絕對不會是一個。

你到底想幹什麼?

+0

我想把最後一次電話狀態的患者記錄還原爲7 – user1213055 2012-04-03 02:34:44

+0

您可以在您的問題中添加該問題,這將有助於*極大地*(順便說一下,您仍然可以這麼做)。 – JayC 2012-04-03 02:36:57

+0

剛剛意識到我沒有添加預期結果。更新。 – user1213055 2012-04-03 02:40:52