このコードでオブジェクト セットを取得できます。
string tableName = "States";
var test = db.GetType().GetProperty(tableName).GetValue(db, null);
//this returns {System.Data.Objects.ObjectSet<FmlaModel.State>}
ただし、最初にEntityObject FmlaModel.State
を見つけて、変数の型を ( のObjectSet<EntityObject>
代わりにvar
) 明示的に指定できるようにし、これを使用してフォーム (TableEditor、以下を参照) に使用している EntityObject の型を伝えることができるようにします。 .
リフレクションを使用してこれを行う方法はありますか? かなり検索しましたが、まだ機能するものは見つかりませんでした...
編集:
私の目標は、編集できるエンティティ オブジェクトの名前を含む db テーブルを作成できるようにすることです。名前はコンボボックスに読み込まれ、いずれかが選択されると、次のような「テーブル エディター」フォームのインスタンスを作成します。
TableEditor<myEntityObject> tableEditor
= new TableEditor<myEntityObject>(myEntitySet<myEntityObject>);
私の「Table Editor」クラスは次のようになります。
public partial class TableEditor<TEntity> : Form
where TEntity : EntityObject
{
public TableEditor(ObjectSet<TEntity> something)
{
...