我有两个类,我已经简化了这个SO问题。每当我添加一个新的“父母”并附上现有的“孩子”实体时,我最终会得到重复的孩子。我究竟做错了什么?为什么我的实体框架对象重复?
public class Group
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int GroupId { get; set; }
public virtual Child ChildOne { get; set; }
public virtual Child ChildTwo { get; set; }
}
public class Child
{
[Key]
public int ChildId { get; set; }
public bool Available { get; set; }
}
using (var context = new RPSContext())
{
Child childOne = context.Child.Where(p => p.Available == true).OrderBy(p => p.ChildId).FirstOrDefault();
Child childTwo = context.Child.Where(p => p.Available == true).OrderBy(p => p.ChildId).Skip(1).Take(1).FirstOrDefault();
}
Parent parent = new Models.Parent;
parent.ChildOne = childOne;
parent.ChildTwo = childTwo;
using (var context = new RPSContext())
{
context.Parent.Add(parent);
parent.ChildOne.Available = false;
parent.ChildTwo.Available = false;
context.SaveChanges();
}
我希望当我简化了这个代码,我没有做任何的错误。任何人都可以协助
我猜你的意思是“组”。你会得到两个新的“儿童”记录? –
是的,它确实是一对多的关系。父/子是错误的术语,但我确实得到了多个子对象。 –
我想知道是否有一些背景废话在这里进行。你可以重构这个,所以你只有一个'新的RPSContext'? – Vlad274