Мне нужно изменить схему таблицы без перезагрузки домена приложения (проблема кэширования EF Model) - PullRequest
2 голосов
/ 06 апреля 2011

У меня есть индивидуальная реализация первой системы с множественным кодом клиента, в основном, SQL Schema Divisions of the арендаторов.Я использую метод ToTable для правильного сопоставления схемы при первом вызове, но, как я прочитал о кэшируемой модели, при изменении схемы при втором вызове другой арендатор не работает.Есть ли какие-либо способы в EF 4.1 отключать кэширование или перестраивать модель каждый раз ... Да, я знаю, что это не очень хорошо для производительности.Спасибо за любую помощь ..

Ответы [ 2 ]

0 голосов
/ 23 июня 2011

Хотя это старый вопрос, но для всех тех, кто сталкивается с этой проблемой и в конечном итоге найти этот вопрос для возможного решения. Вот и все ...

Изначально кэширование можно было отключить, установив для свойства «CacheForContextType» ModelBuilder значение «false» в методе OnModelCreating. Этот метод определен в DBContext как виртуальный и должен быть переопределен. Но в EF 4.1 это свойство было удалено, так как создание модели является дорогостоящим процессом, и команда Microsoft хотела продвигать лучший шаблон. Проверьте эту ссылку

0 голосов
/ 16 мая 2011

Кажется, что команда Build () на ModelBuilder - это то, что вы ищете.

modelBuilder.Build().Compile().CreateObjectContext...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...