Сохранение загрузки сериализующих объектов из структуры базы данных EAV - PullRequest
2 голосов
/ 03 декабря 2010

У меня есть таблица базы данных людей с довольно простым возрастом адреса и т.д., каждый из которых имеет уникальный идентификатор "personID". В связи с этим у меня есть набор таблиц EAV для хранения дополнительных полей, которые потенциально различны для каждого человека. У меня уже есть код для сохранения и загрузки записей из таблицы person в объект c # person или массив объектов person. Однако я не уверен, как справиться с загрузкой записей EAV. Я думал о добавлении массива к моему объекту person с именем «properties», который будет представлять собой массив свойств, каждое из которых имеет «name» и «value». Так, например, я мог бы кодировать

PersonA.Properties[i].Name = "Age"; 
PersonA.Properties[i].Value = 22;

Загрузка одного объекта выглядит нормально, я мог бы сделать 1 вызов базы данных, чтобы загрузить детали из таблицы сотрудников, и второй вызов, чтобы загрузить свойства или вернуть 2 набора данных за один вызов. Однако, как я могу получить массив людей, каждый из которых имеет свои свойства. Если у кого-нибудь есть ссылки на примеры, я был бы благодарен. Также бонусные баллы, если вы можете дать мне советы о том, как реализовать свойства, чтобы я мог сделать код, подобный:

PersonA.Properties["Age"] = "22";

1 Ответ

0 голосов
/ 07 октября 2011

С сервером SQL я согласен с Марком по поводу перевода его в xml.Упрощает запрос.

Чтобы преобразовать код в нужный вам формат, я бы использовал общий словарь, если дата является однородной для этого свойства, а затем преобразовал бы xml назад и вперед между ними.

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