我有一個像NHibernate的查詢所有條件
Product {List<Cost> Costs}
Cost{List<Invoice> Invoices, Product product}
Invoice{bool isIncluded}
表結構需要一個查詢來獲取這對於其中包括無發票的任何費用(isIncluded = false爲所有)
我所有產品想是這樣:
Product pro= null;
Product p = null;
var costQuery = QueryOver.Of<Cost>()
.JoinAlias(c => c.Product,() => p)
.Where(() => p.Id == pro.Id)
.WhereNot(c=>c.Invoices.Any(i=>i.IsIncluded))
.Select(c => c.Id);
var query = CurrentSession.QueryOver<Product>(() => pro)
.WithSubquery.WhereExists(costQuery);
使用的 '任意' 在查詢錯誤了:
無法識別的方法調用:System.Linq.Enumerable:布爾 不限[發票](System.Collections.Generic.IEnumerable
1[Trigger.StageGate.Services.BusinessEntities.Invoice], System.Func
2 [Trigger.StageGate.Services.BusinessEntities.Invoice,System.Boolean])
「錯誤」?這是你得到的異常消息或編譯器錯誤嗎?我不這麼認爲。請發佈實際消息。 – 2013-03-25 11:29:24
exception msg 無法識別的方法調用:System.Linq.Enumerable:Boolean任何[發票](System.Collections.Generic.IEnumerable'1 [Trigger.StageGate.Services.BusinessEntities.Invoice],System.Func'2 [Trigger.StageGate .Services.BusinessEntities.Invoice,System.Boolean]) – user1147738 2013-03-25 11:34:06