Создайте новый объект EF со ссылкой на внешний ключ без загрузки всего объекта повторной ссылки

#entity-framework-4

#entity-framework-4

Вопрос:

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

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

 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_Users я не могу найти ничего, что могло бы помочь..

РЕШЕНИЕ:

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

Ответ №1:

АйКарси,

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

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

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