Как отобразить класс в БД?

jsq
Дата: 09.01.2006 10:24:09
Нужна помощь!
Имеется класс, конкретно класс, хранящий настройки элемента формы, например DataGrid-a. У этого класса есть реквизиты различных типов (например Заголовок, Цвет фона и т.д.), а также реквизит-коллекция из элементов другого класса (в данном случае это коллекция классов, хранящих параметры настроек отдельных колонок DataGrid). То есть в целом структура получается достаточно гетерогенная.

Очень хочется его сохранять в БД (SQL Server 2000) и восстанавливать обратно. Класс, таким образом, отобразился бы на некий набор таблиц. И плюс ко всему, хотелось бы редактировать реквизиты нужного хранимого экземляра класса прямо через таблицы, то есть скажем создать DataSet, наполнить его всеми таблицами - и редактировать реквизиты класса в экранной форме через таблицы.

Существует ли какой-то простой способ, как такое организовать (и, может быть даже в какой-то мере автоматизированно, так как задача может потом повторяться и для других классов)?
Vlaf
Дата: 09.01.2006 12:34:08
Добавьте в БД строковое значение FullName для типа класса, по рефлекшену поднимайте тип и создавайте экземпляр(ы) класса
jsq
Дата: 09.01.2006 15:46:52
Vlaf
Добавьте в БД строковое значение FullName для типа класса, по рефлекшену поднимайте тип и создавайте экземпляр(ы) класса

спасибо.

А саму структуру таблиц можно как то сгенерировать не вручную? Есть для этого какой-нибудь инструментарий или известный метод?
Vlaf
Дата: 09.01.2006 17:53:51
я полагаю, что написание такого генератора самому - нереальная задача. Лучше использовать готовые системы, например Ra.Net от Галактики или MBS от Microsoft.
Sergey Ch
Дата: 10.01.2006 09:18:21
jsq
Очень хочется его сохранять в БД (SQL Server 2000) и восстанавливать обратно. Класс, таким образом, отобразился бы на некий набор таблиц. И плюс ко всему, хотелось бы редактировать реквизиты нужного хранимого экземляра класса прямо через таблицы, то есть скажем создать DataSet, наполнить его всеми таблицами - и редактировать реквизиты класса в экранной форме через таблицы...

Присмотритесь как работает MS Visual FoxPro там интересующий Вас подход уже реализован более 10 лет

Good luck!
Sa
Дата: 10.01.2006 10:09:41

jsq

А саму структуру таблиц можно как то сгенерировать не вручную.

что имено вы хотите получить в результате генерации?

Sergey Ch

как работает MS Visual FoxPro там интересующий Вас подход уже реализован более 10 лет

это какой?

uid = Sa

Posted via ActualForum NNTP Server 1.3

jsq
Дата: 10.01.2006 12:11:02
Sa

jsq

А саму структуру таблиц можно как то сгенерировать не вручную.

что имено вы хотите получить в результате генерации?

Скажем, создаю класс в ДотНет, который содержит реквизиты с типами из фреймворка, например, то же цвет. После гененерации в БД появляются все необходимые таблицы, отражающие реквизиты - теперь уже конечно с типами БД. И тогда, видимо, понадобится такая вещь как некий связующий агент - класс который мог бы записывать мой изначальный класс в эти таблицы, транслируя типы фреймворка в типы БД и соответственно, наоборот, мог считывать данные из таблиц и создавать или обновлять экземпляр изначального класса.

В результате была бы возможность работать с экземплярами класса как напрямую, так и через его отображение в БД - то есть при помощи тех же таблиц ADO.NET и т.д.
jsq
Дата: 10.01.2006 12:22:25
Vlaf
я полагаю, что написание такого генератора самому - нереальная задача. Лучше использовать готовые системы, например Ra.Net от Галактики или MBS от Microsoft.

А где-нибудь описан сам по себе метод, как это делается в принципе? Может быть на языке шаблонов проектирования или еще каким-то способом, если нет простых примеров на уровне кода.

Может быть кто-то читал хорошие статьи на близкую тему?
Sa
Дата: 10.01.2006 12:54:31

Если я вас правильно понял то речь идет про OR Mapping.
Существуют готовые платные, мне попадались и бесплатные средства.
В тему: /topic/87958

jsq

А где-нибудь описан сам по себе метод, как это делается в принципе? Может быть на языке шаблонов проектирования или еще каким-то способом, если нет простых примеров на уровне кода.

Некоторые основы доступны в известной книге:
Мартин Фаулер "Архитектура корпоративных программных приложений"
"Patterns of Enterprise Application Architecture" by Martin Fowler

uid = Sa

Posted via ActualForum NNTP Server 1.3

jsq
Дата: 10.01.2006 15:07:33
Sa

Если я вас правильно понял то речь идет про OR Mapping.
Существуют готовые платные, мне попадались и бесплатные средства.
В тему: /topic/87958
...
Некоторые основы доступны в известной книге: Мартин Фаулер "Архитектура корпоративных программных приложений"

похоже это как раз то, о чем я пытался спросить. И там есть ссылка на прекрасный сайт - http://www.ambysoft.com/mappingObjects.html
Спасибо, это то, что надо!