Как вставить значение во внешний ключ в MVC3? - PullRequest
0 голосов
/ 08 марта 2012

Я хотел бы вставить соответствующее значение в мой внешний ключ "TennisClubId" ... Но у меня возникла проблема, и я уловил "NullReferenceException"

Мой код: (упрощенно)

// POST: /Reservation/Create

      [HttpPost]
    public ActionResult Create(Reservation createReservation)
    {
     int id = 0;
                    var user = User.Identity.Name;
                    var managers = from c in db.Managers
                                   select c;
                    foreach (var manager in managers)
                    {
                        id = manager.TennisClubID;
                    }

                    createReservation.TennisClub.ID = id;// NullReferenceException here (TennisClub.Id is null)
                    db.Reservations.Add(createReservation);
                    db.SaveChanges();
    }

Итак, пожалуйста, как вставить соответствующее значение во внешний ключ, когда я пытаюсь создать резервирование? Заранее спасибо

1 Ответ

1 голос
/ 08 марта 2012

, так как вы используете Entity-framework, вам нужно будет создать карту объектов с отношением внешнего ключа, чтобы связать его с вашим основным объектом.

Entity-Framework предоставит (по умолчанию)вы будете использовать коллекцию внутри своего основного объекта, чтобы ссылаться на отношение «один ко многим» в вашей таблице, и это ключ к решению вашей проблемы.

рассмотрите следующий фрагмент

foreach (var manager in managers)
                    {
                        var tennisClubToreference = new TennisClub()
                           {
                                Id = manager.TennisClubID;
                           }

                        manager.TennisClubs.add(tennisClubToreference);
                    }

извините за не правильно отформатированный код, я пишу со своего iphone, простите меня:)

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