2010-12-03 6 views
2

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

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

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

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

Должно ли быть EAV? Я бы серьезно рассмотрел базу данных, основанную на документах, например, хранилище JSON или XML – 2010-12-03 17:04:42

ответ

0

с сервером SQL, я согласен с Марком о получении его в XML. Делает это легко для запроса.

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

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