Entity Framework - Как я могу создать массив сложных свойств? - PullRequest
2 голосов
/ 26 октября 2010

Могу ли я создать массив сложных свойств в Entity Framework v1?

Предполагая, что у меня есть объект "Вопрос", может ли он иметь массив "Ответов" (который составляется из текста и отметки времени)?

1 Ответ

1 голос
/ 26 октября 2010

Вам не нужен массив свойств, достаточно простого навигационного свойства «один ко многим». Ваша Question сущность будет иметь коллекцию Answer сущностей.

В то же время на уровне базы данных ваша таблица Answer(s) должна иметь внешний ключ QuestionId, соединяющий его с таблицей Question(s).

Если вы генерируете модель из своей базы данных и внешний ключ задан правильно, EF должна сгенерировать для вас свойство навигации. Однако он может быть неверно назван (AnswerSet или что-то), но вы можете переименовать его в Answers самостоятельно. Позже вы можете получить доступ к ответам через объект Question, например ::

var question = context.Questions.Include("Answers").FirstOrDefault(q => q.Id == 1);
bool hasAnswers = question.Answers.Any();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...