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