次のメイン フィールド (TechnologyID、TechnologyTypeID、タイムスタンプなど) を持つ Technology という名前の親テーブルがあります。
次に、ラック、サーバー、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 が null であるため、上記では例外が発生します。だから私の質問は、親テーブル(Technology)の新しいインスタンスを追加してそのIDを取得し、データベースに保存する前にこのIDをサーバーに割り当てる方法です?