2011-01-08 3 views
0

Я использую базу данных SQL Server, в моем приложении C# схема таблицы в БД изменяется во время выполнения. Я с нетерпением жду использования любого инструмента ORM, который может работать с вышеупомянутым сценарием. Pls помогает мне.ORM для динамических таблиц в базе данных

+1

http://en.wikipedia.org/wiki/Entity-attribute-value_model –

ответ

2

Если вы используете NHibernate, пожалуйста, проверьте 'dynamic-component' mapping. Он позволяет сопоставлять столбцы в словаре. Таким образом, схема может быть изменена без повторной компиляции приложения. (Фабрика сеансов NHibernate должна быть воссоздана в вашей программе после изменения отображения, если изменения должны быть видимыми без перезапуска приложения.)

0

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

+1

Почему именно производительность должна уменьшаться при изменении схемы? обычно производительность уменьшается, если вы создаете модель EAV на сервере sql и заполняете ее большим количеством строк. – karlis

0

если вы ожидаете, что небольшое количество строк/размер базы данных будет идти с указанной ссылкой на wiki-ссылку и использовать модель EAV.

если вы, напр. магазин 4mio люди не идут с этим. :) вместо этого измените схему базы данных во время выполнения. мы используем дозвуковой 2.2 и расширили его в нашем ядре, чтобы разрешить некоторые изменения таблицы-таблицы во время выполнения.

Смежные вопросы