|
NHibernate и сохранение данных
|
|||
---|---|---|---|
#18+
Добрый день, хотелось бы посоветоваться со специалистами по вот какому вопросу. Есть приложение на .NET, работающее в связке с БД Oracle. Бизнес-объекты приложения "частично" отображены на таблицы БД с помощью NH. Бизнес-объекты представлены в виде дерева классов. Объекты прикладной области - измерительные приборы или их группы, образованные по некоторому признаку. Таблицы БД содержат конфигурационную информацию для приборов и их групп. Эта конфигурация извлекается из БД и, при необходимости, сохраняется в БД средствами NHibernate. Каждый класс отображен на таблицу в соответствии с соотношением 1:1. Теперь возникает необходимость сохранения в БД некоторой статистической информации о каждом объекте (приборе). Эта информация представляет собой смесь из большого количества измеряемых параметров (сотни), вычисляемых (десятки) и, частично, конфигурационных. В приложении все эти данные естественным образом размазаны по разным вложенным классам класса-прибора. В БД для них заводится отдельная таблица, обращение к которой будет идти только в режиме записи (INSERT). В этой таблице есть свой композитный ключ, объединяющий номер прибора и временную метку (TIMESATMP). Соответственно, каждому классу-прибору может соответствовать "неограниченное" число записей в этой таблице. Вопрос - возможно ли использовать тот же NH для решения такой задачи? В частности, есть ли возможность сделать маппинг класса (прибора) одновременно на две таблицы - конфигурационную и статистическую? Можно, конечно, сделать сохранение данных в лоб, через чистый SQL или DataSet-ы, но не хотелось плодить разнообразие подходов в одном и том же продукте. С другой стороны, излишнее разбиение исходного класса на более мелкие будет в некотором роде искусственным, и очевидно затруднит написание и поддержку бизнес-логики. Возможно ли счастье? ) Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2011, 19:05 |
|
|
start [/forum/topic.php?fid=17&fpage=43&tid=1350694]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
29ms |
get tp. blocked users: |
2ms |
others: | 282ms |
total: | 399ms |
0 / 0 |