[英]LINQ querying same table
我正在嘗試查找發票編號相同但城市不同的所有行。
運行此代碼時,我無法將類型'System.Collections.Generic.IEnumerable'隱式轉換為'bool'錯誤。
from DataRowView i in dv
where
(
from DataRowView s in dv
where
i.Row["InvoiceNo"] == s.Row["InvoiceNo"] &&
i.Row["City"] != s.Row["City"]
select s
)
select i;
因此,在一組數據上,例如{123,Seattle,...},{123,Seattle,...},{123,Portland,...},我只想要一個(在這種情況下){123,Seattle, ...}退回。
我不確定我在做什么錯...
where
應遵循的一個布爾需要指示項是否應當被包括在內。 您提供了一系列行。 但這並不能說明是否應where
包含該項目。
顯然,您正在嘗試將此表與其自身Join
,最好使用Join
,然后將過濾器應用於聯接的結果:
var query = from first in dv
join second in dv
on first.Row["InvoiceNo"] equals second.Row["InvoiceNo"]
where first.Row["City"] != second.Row["City"]
select first;
where ()
期待bool
。
from DataRowView s in dv ... select s
返回IEnumerable<DataRowView>
。
您需要從( )
返回bool
,以使該查詢有意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.