簡體   English   中英

Linq回歸意外結果

[英]Linq returning unexpected results

我有以下查詢,它應該不返回任何行,但返回4:

var testAgainst = db.MyForm1_hosps.Select(ta => ta.recordId == recordId);

如果我使用以下查詢,我會按預期獲得零行:

var testAgainst = from ta in db.MyForm1_hosps
                  where ta.recordId == recordId
                  select ta;

MyForm1_hosp中有四行但是在我的測試中沒有匹配recordId。

代碼不是謊言,所以我對LINQ的理解是不正確的。 有人可以向我解釋為什么第一行返回4行時它應該返回0?

您的第一個查詢有錯誤。 Select更改為Where

var testAgainst = db.MyForm1_hosps.Where(ta => ta.recordId == recordId); 

使用Select(ta => ta.recordId == recordId)調查原始查詢Select(ta => ta.recordId == recordId) :這將返回一系列布爾值 如果沒有在記錄db.MyForm1_hospsrecordId匹配的輸入值,結果都將是錯誤的。 如果您有4條記錄,則會得到4個錯誤值。 你有4個結果,但它們不是你認為的類型!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM