簡體   English   中英

LINQ查詢同一張表

[英]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.

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