powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как добавлять записи в сложну сущность в Entity Framework 4 ?
5 сообщений из 5, страница 1 из 1
Как добавлять записи в сложну сущность в Entity Framework 4 ?
    #38554359
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста вот например есть сущность у которой есть поля которые ссылаются на другие таблицы, как в таком случае добавить в эту таблицу запись сославшись на существующие из других таблиц (справочников).
Допустим есть база кинотеатр и в ней сущность Фильм, у фильма есть режиссер и жанр которые уже лежат в других таблицах.
Кода я делаю вот так:
var фильм = new Фильм();
фильм.Режисер = new Режисер { id = 3};
фильм.Жанр = new Жанр {id = 2};
кинотеатр.Фильмы.Add(фильм);
кинотеатр.SaveChange();

То в таблицу Жанры и Режисеры добавляются новые записи с новым ID (не стем существующим который указан) и пустым содержимым и потом надвязываются к новой записи в таблице Фильм.

Если я делаю вот так:

var фильм = new Фильм();
фильм.Режисер.ID = 3;
фильм.Жанр.ID = 2;
кинотеатр.Фильмы.Add(фильм);
кинотеатр.SaveChange();

То выскакивает рантаймовая ошибка мол типа фильм.Режисер фильм.Жанр не указывают на объект, как в таком случает добавляют записи обычно ?
...
Рейтинг: 0 / 0
Как добавлять записи в сложну сущность в Entity Framework 4 ?
    #38554385
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо

фильм.Режисер.ID = 3;

должно быть

фильм.Режисер = экземпляр_объекта_режиссер

этот экземпляр можно получить как созданием нового, так и выборкой текущего (например выборкой с помощью Linq из объекта Режиссеры, по каким-то критериям (например ID=3. однако, непосредственная работа с ID - признак того, что ты выбрал неправильный подход к работе с моделью - ID в большинстве случаев волновать не должны))
...
Рейтинг: 0 / 0
Как добавлять записи в сложну сущность в Entity Framework 4 ?
    #38554836
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, спасибо бро за наводку
...
Рейтинг: 0 / 0
Как добавлять записи в сложну сущность в Entity Framework 4 ?
    #38554837
megazoid007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, а можно ли как то вручную сформировать правильные ассоциируемый объект, а не каждый рас доставать его из базы:
фильм.Режисер = Кинотеатр.Режисеры.Single(s => s.РежисерID == 2); ?
...
Рейтинг: 0 / 0
Как добавлять записи в сложну сущность в Entity Framework 4 ?
    #38556828
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
megazoid007Shocker.Pro, а можно ли как то вручную сформировать правильные ассоциируемый объект, а не каждый рас доставать его из базы:
фильм.Режисер = Кинотеатр.Режисеры.Single(s => s.РежисерID == 2); ?

Код: c#
1.
2.
3.
4.
var Тарантино = Кинотеатр.Режисеры.Single(s => s.РежисерID == 2);

УбитьБилла.Режисер = Тарантино;
УбитьБилла2.Режисер = Тарантино;
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Как добавлять записи в сложну сущность в Entity Framework 4 ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]