|
Как добавлять записи в сложну сущность в Entity Framework 4 ?
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста вот например есть сущность у которой есть поля которые ссылаются на другие таблицы, как в таком случае добавить в эту таблицу запись сославшись на существующие из других таблиц (справочников). Допустим есть база кинотеатр и в ней сущность Фильм, у фильма есть режиссер и жанр которые уже лежат в других таблицах. Кода я делаю вот так: var фильм = new Фильм(); фильм.Режисер = new Режисер { id = 3}; фильм.Жанр = new Жанр {id = 2}; кинотеатр.Фильмы.Add(фильм); кинотеатр.SaveChange(); То в таблицу Жанры и Режисеры добавляются новые записи с новым ID (не стем существующим который указан) и пустым содержимым и потом надвязываются к новой записи в таблице Фильм. Если я делаю вот так: var фильм = new Фильм(); фильм.Режисер.ID = 3; фильм.Жанр.ID = 2; кинотеатр.Фильмы.Add(фильм); кинотеатр.SaveChange(); То выскакивает рантаймовая ошибка мол типа фильм.Режисер фильм.Жанр не указывают на объект, как в таком случает добавляют записи обычно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2014, 13:18 |
|
Как добавлять записи в сложну сущность в Entity Framework 4 ?
|
|||
---|---|---|---|
#18+
вместо фильм.Режисер.ID = 3; должно быть фильм.Режисер = экземпляр_объекта_режиссер этот экземпляр можно получить как созданием нового, так и выборкой текущего (например выборкой с помощью Linq из объекта Режиссеры, по каким-то критериям (например ID=3. однако, непосредственная работа с ID - признак того, что ты выбрал неправильный подход к работе с моделью - ID в большинстве случаев волновать не должны)) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2014, 14:18 |
|
Как добавлять записи в сложну сущность в Entity Framework 4 ?
|
|||
---|---|---|---|
#18+
Shocker.Pro, спасибо бро за наводку ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2014, 10:08 |
|
Как добавлять записи в сложну сущность в Entity Framework 4 ?
|
|||
---|---|---|---|
#18+
Shocker.Pro, а можно ли как то вручную сформировать правильные ассоциируемый объект, а не каждый рас доставать его из базы: фильм.Режисер = Кинотеатр.Режисеры.Single(s => s.РежисерID == 2); ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2014, 10:13 |
|
Как добавлять записи в сложну сущность в Entity Framework 4 ?
|
|||
---|---|---|---|
#18+
megazoid007Shocker.Pro, а можно ли как то вручную сформировать правильные ассоциируемый объект, а не каждый рас доставать его из базы: фильм.Режисер = Кинотеатр.Режисеры.Single(s => s.РежисерID == 2); ? Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 11:58 |
|
|
start [/forum/topic.php?fid=17&fpage=21&tid=1349849]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 152ms |
0 / 0 |