我在我的项目中使用 MVC 和 Entity Framework Model-First
我有一个实体GoalCard
,该实体与另一个实体相关联SelectedQuestion
关联如下所示: GoalCard 1....Many SelectedQuestion
我想要实现的是复制一个 GoalCard 对象及其值,并确保关联实体也得到它。
我已经尝试了大部分深度克隆等东西。但我无法让它工作。
我可以成功复制一个GoalCard
对象并将其添加到我的GoalCard
实体中,Id
但我无法复制关联实体。
我有一个检索目标卡的存储库类:
public GoalCard GetGoalCardByID(int id)
{
return db.GoalCard.SingleOrDefault(x => x.Id == id);
}
在我的控制器内部的操作方法中,我执行以下操作:
public ActionResult Template(int id)
{
var GoalCard = Repository.GetGoalCarddByID(id);
Repository.CopyGoalCard(GoalCard);
return View();
}
最后是我的存储库:
public GoalCard CopyGoalCard(GoalCard goalcard)
{
db.Detach(goalcard);
GoalCard.EntityKey = null;
db.AddToGoalCard(goalcard);
db.SaveChanges();
return goalcard;
}
如果有人能给我一个关于如何确保关联实体也被复制的例子,我将不胜感激。
提前致谢!
-