Создать новый объект EF со ссылкой на внешний ключ без загрузки всего объекта ссылки - PullRequest
6 голосов
/ 10 ноября 2011

Я хочу создать новый объект EF, который ссылается на другой объект (в моем примере это aspnet userId) без загрузки внешнего (ключевого) объекта.

По сути, я хочу сделать следующее:

buskerSet bs = new buskerSet();
bs.Title = title;
bs.Image = image;
bs.Created = DateTime.Now;
//The following will crash, because bs.aspnet_Users is null
bs.aspnet_Users.UserId = userId;

context.SaveChanges();

В bs.aspnet_UsersReference я не могу найти ничего, что могло бы помочь ..

РЕШЕНИЕ:

aspnet_Users user = new aspnet_Users { UserId = userId };
context.AttachTo("aspnet_Users", user);
set.aspnet_Users = user;

1 Ответ

7 голосов
/ 10 ноября 2011

AyKarsi,

Посмотрите в блоге Alex James EF об использовании объектов-заглушек, в нем объясняется, как делать то, что вы хотите.

СОВЕТ 26 - Как избежать запросов к базе данных с использованием заглушек

Надеюсь, это поможет, Ник

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