Entity Framework 4.1. Загрузка навигационных свойств из идентификаторов - PullRequest
0 голосов
/ 17 января 2012

У меня есть несколько таких свойств на OrderItem:

        public virtual Frame Frame { get; set; }
        [ForeignKey("Frame")]
        public int? FrameId { get; set; }

У меня есть такой контроллер:

    public ActionResult CostOptions(OrderItem oi)

Я устанавливаю Ids на oiс привязкой модели, как описано выше, теперь есть ли способ получить навигационные свойства для автоматической загрузки из идентификаторов?Нужно ли вставлять объект для этого?

1 Ответ

1 голос
/ 17 января 2012

OrderItem должен быть прокси, созданным в порядке EF для загрузки навигационного свойства, указанного соответствующим идентификатором.Ваша текущая реализация не позволяет этого, потому что связыватель модели MVC создает экземпляр OrderItem.

public ActionResult CostOptions()
{
     // creates instance of the proxy
     var oi = db.OrderItems.Create();

     if (TryUpdateModel(oi))
     {
          // new entity has to be added before retrieving lazy loaded prop
          db.OrderItems.Add(oi);
          // lazy loaded property
          var frame = oi.Frame;
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...