2011-04-01 106 views
0

引用在前一篇文章(Entity Wrapper - Custom) 我仍然有一些困難的關於通用查詢來檢索通用字段。實體框架 - 共同查詢

我只有一個字段的簡單界面。我的所有實體都從我的界面繼承。然後我有一個類封裝了我的objectContext類型。 那麼,現在我需要執行一個linq查詢來獲得我的IQuerable對象。 下面的代碼片段的推移誤差在建設時間:

public IQueryable<T> GetQuery<T>() where T : IEntity 
{ 
    var query = 
     GetObjectSetSomehow; //problem: I don't know the objectSet type here!! 
    return query.Where(p => p.field == "..."); 
} 

但是,尤其是我的問題是關於不可能實現從IQuerable其中T鑄造:MyInterface的到對象集

任何建議wiil理解..

+1

請格式化代碼,使其更具可讀性。 – archil 2011-04-01 15:06:34

回答

3

也許ObjectContext.CreateObjectSet Method可以幫助你。作爲MSDN說,法

創建一個用於查詢,添加, 修改和刪除 指定的實體類型的對象的新對象集 實例。

public static IQueryable<T> Create<T>(ObjectContext context) where T : class, IEntity 
    { 
     var query = context.CreateObjectSet<T>().AsQueryable(); 
     return query.Where(x => true); 
    } 
+0

是啊!非常感謝你!! – Bit 2011-04-01 15:38:31