2012-03-06 11 views
0

一般的なIQueryableオブジェクトを返す小さな関数を書きました。 コードは次のとおりです。EFにサブセットを含めるには?

public IQueryable<T> GetList<T>() where T : class 
    { 
     var result = dbContext.CreateObjectSet<T>(); 
     return result; 
    } 

私はデータベースのコンテンツテーブルを持っています。これはコンテンツオブジェクトに変換されました。コンテンツオブジェクトには、Stateという関連サブセットがあります。クエリにどのように含めるには?それは、しかし、国家のサブセットが含まれていない作品

public IQueryable<Content> GetContentList() 
    { 
     var contentList = GetList<Content>(); 
     return contentList; 
    } 

は、ここに私の現在の関数です。私の質問はそれをどのように含めるかです。

ありがとうございます。

答えて

0

私はCreateObjectSet<T>に精通していません。 LINQ to Entitiesで照会するContentSetはありませんか?

var result = dbContext.ContentSet.Include("States"); 

私の例では、Includeメソッドは、あなたの国を明示的に含むメソッドです。

+2

'.Include'はやり方だと言いますが、強く型付けされた同等のものを使用しない理由はほとんどありません:' dbContext.ContentSet.Include(c => c.States) '。 – hvd

+0

@hvd:それはどこに定義されていますか?私が見るのは、文字列のバージョンです@ http://msdn.microsoft.com/en-us/library/bb738708.aspx –

+0

@JamesManning拡張メソッド 'System.Data.Entity.DbExtensions.Include'です。私はそれがEF4.1から利用可能だと思うが、間違いかもしれない。 – hvd

関連する問題