2012-12-16 61 views
0

我要地圖的屬性只有在特定的列eual兩個值中的一個, 目前我已經試過這樣:如何使用Fluent nHibernate定義兩個where子句或之間的?

HasMany<Event>(u => u.Events) 
    .KeyColumn("Id") 
    .Cascade.AllDeleteOrphan() 
    .OrderBy("OrderByDate desc") 
    .Where(e => e.Status == Status.New || e.Status == Status.Old); 

,但我得到一個異常「無法表達式轉換爲SQL」

我怎麼能創建一個映射與兩個where子句與他們之間的OR運算符?

編輯:我不想使用SQL在我的映射,我想用lambda表達式(如果可能的話...)

回答

1

實施並處理一些事情,但還遠遠沒有完成(尤其是ExpressionType.OrElse/BinaryExpression未處理)。你必須自己編寫sql或者增強類ExpressionToSql的實現。

+0

謝謝,我會盡力加強當前的實施 – keisar