2012-02-22 5 views
-1

List<T>動的を返す小さな関数を作りたいと思います。リストの入手方法<T>フルダイナミック?

これまで私がこれまで持っていたことは次のとおりです。

public List<T> GetLookupList<T>() 
    { 
     PersonalLinksEntities dbContext = new PersonalLinksEntities(); 

     var resultList = dbContext.???? 

     return resultList.toList(); 
    } 

ここでdbContextをどうすればよいですか?

ありがとうございます!ここで

言い換える

は、私がやっていることです。

ステップ1:新しいアイテムを追加 - > ADO.NETエンティティデータモデル、オブジェクトを自動生成しました。 手順2:上記の作業なし機能を作成しました。

+0

た後、それは "動的リストを返す" ために何を意味するのでしょうか? –

+0

私はあなたがこの機能を '動的ではなく'汎用であると思っていますか? –

+0

私はEntityFramework 4.1を使用しており、データベースの最初のモデルも使用しています。したがって、PersonalLinksEntitiesは自動生成されます。 – HorseKing

答えて

1

List<dynamic>を返す。ジェネリックTパラメータは必要ありません。 collection.Cast<dynamic>()などを使用して、コレクションを動的にキャストする必要があります。

EDIT
あなたの言い換えた後、私はまだ、私は完全にあなたの質問を理解していることを知りません。型を渡してその型のコンテキストからコレクションを取得しようとしている場合は、基底クラスにこのコードを実装する方がよいでしょう。これを行うには、リフレクションを行う必要があります。これは、パフォーマンスやコードの明快さにおいて、いくつかの行を節約するためのヒットではありません。

+0

私はこの場合に反射を使用しなければならないと思う...それはNhibernateのように非常に簡単な仕事になると思った。 – HorseKing

0

PersonalLinksEntities

public class PersonalLinksEntities<T> 
{ 
    ... 

    public List<T> ToList() 
    { 
     //construct List here and return 
    } 
} 

ToList()実装を追加し、

public List<T> GetLookupList<T>() 
{ 
     PersonalLinksEntities dbContext = new PersonalLinksEntities(); 
     return dbContext .ToList<T>(); 

} 
+0

PersonalLinkEntitiesはデータコンテキストであり、コレクションではありません。これはうまくいかないでしょう。 –

+0

回答の説明/コードからあまり明確ではありません。変数名は無関係です。 – Tigran

+0

合意は、非常に明確な質問ではありません。 –

関連する問題