В настоящее время мы не используем ORM.Я хочу смоделировать относительно простую структуру базы данных в существующем приложении.Это попытка добавить гибкость и адаптацию во время выполнения к схеме при использовании SQL Server (2008) по сравнению с переходом на нереляционную базу данных документов (Couch, Mongo и т. Д.)
Мы используемэтот шаблон в ряде мест, но здесь я обобщу его для ясности:
У нас есть таблица Object
со следующей структурой:
create table Object (
ObjectID int,
FixedObjectProperty1 varchar(25),
FixedObjectProperty2 int,
etc.
)
Есть также связанный Object_Attributes
таблица, которая содержит «гибкие» свойства для каждого объекта.По сути, это группа пар имя / значение для каждого объекта со следующей структурой:
create table Object_Attributes (
Object_AttributesID int,
ObjectID int,
PropertyName varchar(50),
PropertyValue varchar(50)
)
Я хочу смоделировать это с использованием некоторой технологии ORM (EF4, Subsonic, nHibernate или "roll my own")взять приведенную выше структуру данных и получить динамический / анонимный объект (который в конечном итоге будет отправлен веб-клиенту в виде JSON) со следующей структурой (например, 3 записи в таблице Object_Attributes
:
ObjectID
FixedObjectProperty1
FixedObjectProperty2
PropertyName1
PropertyName2
PropertyName3,
etc
Конечно, я также должен иметь возможность десериализации из JSON обратно в БД. Любые мысли или предложения приветствуются.