如何在MVC3中的外键中插入一个值?

时间:2012-03-08 10:10:20

标签: c# asp.net-mvc-3 entity-framework

我想在我的外键“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 个答案:

答案 0 :(得分:1)

当你使用Entity-framework时,你需要创建一个外键关系的对象图,以便将它与你的主对象相关联。

Entity-Framework将(通过defualt)为您提供主对象内的Collection,以引用表中的一对多关系,这是解决问题的关键。

考虑以下代码段

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

                        manager.TennisClubs.add(tennisClubToreference);
                    }

抱歉没有格式良好的代码,我从我的iphone发帖,原谅我:)