簡體   English   中英

Linq查詢中where子句中的where子句會導致錯誤

[英]Linq query with where clause within a where clause causes an error

var largeset =
        from inv in context.Invoices
        join line in context.InvoiceLines on inv.InvoiceId equals line.InvoiceId
        into Lines from linejoin in Lines
        join track in context.Tracks on linejoin.TrackId equals track.TrackId
        into Tracks
        select new
        {
            Invoice = inv,
            Line = Lines,
            Track = Tracks
        };

// Filter by search term
if (!string.IsNullOrEmpty(SearchTerm))
{
    largeset = largeset.Where(x =>
            x.Invoice.Customer.LastName.StartsWith(SearchTerm) ||
            x.Invoice.Customer.FirstName.StartsWith(SearchTerm) ||
            x.Track.Where(t => t.Name.Contains(SearchTerm)).Count > 0);
}

此代碼段的最后一行

x.Track.Where(t => t.Name.Contains(SearchTerm)).Count > 0

導致錯誤

錯誤CS0019運算符'>'不能應用於'方法組'和'int'類型的操作數

提前致謝。

https://msdn.microsoft.com/en-us/library/bb338038(v=vs.100).aspx

您需要使用Count()調用方法Count ,而不是像引用成員名稱一樣將其視為屬性。

暫無
暫無

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

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