Ассоциация собственности Entity Framework - PullRequest
3 голосов
/ 06 декабря 2011

У меня есть вопрос новичка об EF4. Допустим, у меня в EDMX есть класс City, а другой называется State.

Город выглядит следующим образом:

Id
Description
State (obj)

А вот и государство:

Id
Description
Cities (obj collection)

Мой вопрос очень прост. Когда я создаю город и устанавливаю его состояние city.State = stateX, EF автоматически добавляет мой город к state.Cities? Или я должен установить его вручную?

Спасибо.

1 Ответ

2 голосов
/ 06 декабря 2011

Ну, это зависит.

Прежде всего, сначала вы используете модель, базу данных или код сначала?

В модели сначала вы генерируете модель через EDMXа затем позвольте ему создать БД для вас.Пока есть отношения между этими двумя объектами, внешний ключ будет сгенерирован, и у вас будет ожидаемое поведение.

В базе данных сначала почти то же самое, но вы сначала создаете базу данных (с внешнимключи и все остальное), а затем извлечь модель EDMX из него.Опять же, если база данных структурирована правильно, проблем нет.

В Code First вы создаете свои объекты POCO, как вы описали (в любом случае), а затем настраиваете отношения через свободный интерфейс.Если вы настроите его правильно, сгенерированная база данных будет иметь правильные внешние ключи и снова ожидаемый сценарий.

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