Как заполнить сложный иерархический объект из SQL Server - PullRequest
0 голосов
/ 15 июля 2011

У меня есть сложный объект на моем веб-сервере - скажем, объект, например, представляет собой опрос.

Таким образом, у этого объекта опроса много вопросов, и у каждого вопроса может быть много возможных вариантов ответа - в основном это иерархический объект.

Допустим, далее, что в базе данных их таблицы примерно одинаковой структуры (т. Е. Таблица опроса, которая ссылается на таблицу вопросов, которая ссылается на таблицу вариантов ответа).

Если мы хотим заполнить объект из SQL - это единственный способ сделать это:

  1. Выберите данные опроса из базы данных
  2. Выберите все вопросы, которые появляются в этом опросе из базы данных
  3. Выберите из базы данных все варианты ответов, которые доступны для вопросов в опросе
  4. Переберите результаты на веб-сервере и заполните объект Survey соответствующим образом.

(Это заказной код, поэтому различные структуры сущностей не являются опцией).

Есть ли лучший способ сделать это? Это правильно, что я перебираю все эти результаты и заполняю свой объект соответствующим образом или есть более простой способ?

1 Ответ

1 голос
/ 15 июля 2011

Не совсем понятно, на каком уровне абстракции вы обращаетесь к базе данных. ADO.NET SqlCommands?

Все ли рамки OR / M исключены? Тогда вы не получите сложные «объекты» обратно из уровня данных автоматически. Это одна из основных задач инструмента OR / M, которая позволяет загружать данные в объект или иерархию объектов на основе сопоставления. Если вы не используете для этого фреймворк, вам придется самим выполнять итерацию «сырых строк SQL» и копировать их в структуру объекта.

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