У меня возникли проблемы с сущностью Framework, возвращающей Proxies, когда я хочу фактический класс сущности. В первый раз, когда я запускаю свой код, все работает правильно (без прокси), но после каждой итерации один из моих DbSets всегда возвращает прокси вместо фактического типа.Почему EF возвращает прокси-класс вместо фактического объекта?
Я избавляюсь от контекста после каждой итерации, поэтому я не понимаю, почему первый раз через это работает, и каждый раз после этого нет.
Мой код не работает в этой строке. Все мои POCOs имеют атрибут Table, но поскольку он возвращает прокси-класс, атрибут таблицы отсутствует.
TableAttribute attrib = (TableAttribute)attributes.Single();
Есть ли за кулисами статическая магия в DbContext, которая живет после уничтожения объекта?
переместить свои объекты в памяти, используя следующие
MajorClasses = ctx.MajorClasses.ToArray();
Я также попытался
MajorClasses = ctx.MajorClasses.AsNoTracking().ToArray();
В моей OnModelCreating я следующий набор
base.Configuration.ProxyCreationEnabled = false;
base.Configuration.LazyLoadingEnabled = false;
Я добавил более подробно на мой вопрос. У меня был этот набор настроек, и мое приложение не может обрабатывать прокси, такие как POCO. –
Его в обновленный вопрос. Я отражаю класс, чтобы получить от него атрибуты. –
@ MalcolmO'Hare Я опубликовал код, который мы используем, чтобы получить тип POCO из прокси-типа. – cadrell0