2013-04-16 69 views
0

說我有一個選擇爲定義的類型,像這樣的查詢:動態LINQ無法解析訂購

public class SomeObject 
{ 
    public DateTime CreatedDate { get; set; } 
} 

private class MyType 
{ 
    internal SomeObject Object1 { get; set; } 
    internal SomeThing Object2 { get; set; } 
    internal DateTime SomeDate { get; set; } 
} 

var query = from bla in context.Melp join ..... 
      select new MyType() 
      { 
        Object1 = something, 
        Object2 = somethingelse, 
        SomeDate = bla.date 
      } 

現在我們DynamicLinq添加動態,用戶自定義,排序的結果集,就像這樣:

query.OrderBy("SomeDate"); 

query.OrderBy("Object1.CreatedDate"); 

,但是當我嘗試順序,例如, 「SomeDate」 或 「Object1.CreatedDate」,我拿到PR有一個例外ompted:存在於類

無屬性或字段「SomeDate」「MyType的」

現在,當我剛剛在方法的語法中添加排序的查詢:

query = query.OrderBy(x => x.SomeDate) 

query = query.OrderBy(x => x.Object1.CreatedDate) 

一切正常,所以我認爲這可能是無論是在一個錯誤DynamicLinq或我打電話錯了...

任何想法?

+0

發佈您的動態LINQ代碼... –

回答

3

動態Linq大量使用Reflection。也許這是一個問題,因爲你的屬性被標記爲internal和方法<Type>.GetProperty方法(將由動態Linq庫使用)將不會監視internal屬性,除非BindingFlags將被改編。

試試將它們標記爲公共和你的班級。