Я пытаюсь создать экземпляр объекта 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 вещь или справочный проект вещь. Почему я не могу создать новый экземпляр этого объекта, используя простое отражение, когда я могу легко создать объект без отражения?
http://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname.aspx – Reddog
Теперь кажется очевидным, что вы упомянули об этом. Я дам ему шанс и немного откликнуться. – Jeff
Вот и все. Ему не понравилось полное имя с версией, культурой и токеном открытого ключа, но «MyAssembly.MyNamespace.MyEntity, MyAssembly» работал. Спасибо! – Jeff