如何使用外键自动填充表
本文关键字:填充 何使用 | 更新日期: 2023-09-27 18:29:02
我有以下代码:
var game = (from k in db.GamerTBLs
where k.UserName == User.Identity.Name
select k.GamerID).Single();
return View(game);
这是我的控制器:
[HttpPost]
public ActionResult Create(GameTBL gametbl)
{
if (ModelState.IsValid)
{
db.GameTBLs.Add(gametbl);
db.SaveChanges();
return RedirectToAction("Index");
}
var game = (from k in db.GamerTBLs where k.UserName == User.Identity.Name
select k.GamerID).Single();
return View(game);
}
我正在尝试将Gamer ID填充到具有外键GamerIDFK的相关表Game中。
任何人都能透露一些信息吗?如果你需要更多信息,请让我知道
根据您提供的信息,我认为您的模型如下:
GamerTBL:
public int GamerTBLId { get; set; }
public string UserName { get; set; }
public virtual ICollection<GameTBL> GameTBLs { get; set; }
GameTBL:
public int GameTBLId { get; set; }
public string GameName { get; set; }
public int GamerIDFK { get; set; }
你的控制器应该是这样的:
[HttpPost]
public ActionResult Create(GameTBL gametbl)
{
if (ModelState.IsValid)
{
//First you get the gamer, from GamerTBLs
var gamer = db.GamerTBLs.Where(k => k.UserName == User.Identity.Name).SingleOrDefault();
//Then you add the game to the games collection from gamers
gamer.GameTBLs.Add(gametbl);
db.SaveChanges();
}
return RedirectToAction("Index");
}
实体框架抽象外键概念,您不必担心id或fk,只需将对象"添加"到对象集合中即可。