リフレクションを使用して Entity Framework オブジェクトのインスタンスを作成しようとしています:
var type = Type.GetType("MyAssembly.MyEntityNamespace.MyEntity");
var target = Activator.CreateInstance(t);
以前にこのコードを使用したことがあり、「通常の」オブジェクトでは常にうまく機能していましたが、このソリューションの EF オブジェクトで使用すると、GetType()
null が返されます。私の EF モデルは独自の別のプロジェクトにあり、このコードは独自の単体テスト アセンブリで実行されています。テスト アセンブリはEF アセンブリを参照し、EF アセンブリはそれを /bin に作成しています。
EF クラスのインスタンスを通常どおり作成できますが、このリフレクションの試みでも機能しません。
var item = new MyEntity(); //works fine
Type.GetType(item.GetType().FullName); //null
Type.GetType(item.GetType().Name); //null
これがEFのことなのか、プロジェクトの参照のことなのかはわかりません。オブジェクトをリフレクションなしで簡単に作成できるのに、単純なリフレクションを使用してこのオブジェクトの新しいインスタンスを作成できないのはなぜですか?