0

我有一个名为 Technology 的父表,其中包含以下主要字段(TechnologyID、TechnologyTypeID、时间戳等)。

然后我有每个类型的继承表,例如 Rack、server、VM、PC 等。其中每个子表的 ID 也是父表中 TechnologyID 的外键。

现在我有以下操作方法来添加新机架:-

[HttpPost]
        public ActionResult Create(Server server)
        {
            if (ModelState.IsValid) {

                repository.InsertOrUpdateServer(server);
                repository.Save();

return RedirectToAction("Index");
            }
else {
return View();
            }
        }

但是上面会引发一个异常,因为作为表 PK & FK 的 RACKID 为空。所以我的问题是如何添加父表(技术)的新实例并获取其 ID,然后在将其保存到数据库之前将此 ID 分配给服务器?

4

1 回答 1

0

technology为您要在其中添加server/rack作为孩子的对象获取一些参考/ID 。

[HttpPost]
        public ActionResult Create(Server server, int technologyID)
        {
            if (ModelState.IsValid) {

                var technology = repository.Technologies.Where(t => t.Id == technologyID).FirstOrDefault();
                server.technologyId = technology.Id;
                repository.InsertOrUpdateServer(server);
                repository.Save();

return RedirectToAction("Index");
            }
else {
return View();
            }
    }
于 2013-07-20T23:00:07.613 回答