0
我已阅读了有关此问题的许多主题,但我仍无法理解为什么会出现此错误。
抛出在标题中提到的错误:db.megrendelesek.Add(form.uj);
一个实体对象不能被IEntityChangeTracker的多个实例引用。这是什么意思?
private void button1_Click(object sender, EventArgs e)
{
foreach (Account item in db.accountok)
{
if (item.Username == textBox1.Text && item.Password == textBox2.Text)
{
MegrendelesForm form = new MegrendelesForm(item as Account);
if (form.ShowDialog() == DialogResult.OK)
{
db.megrendelesek.Add(form.uj);
db.SaveChanges();
}
}
else
{
MessageBox.Show("Bad user or pw");
}
}
}
public partial class MegrendelesForm : Form
{
RaktarDB db = new RaktarDB();
public Megrendeles uj { get; set; }
public Account belepett = new Account();
public MegrendelesForm(Account item)
{
InitializeComponent();
belepett = item;
var aruk = (from aru in db.aruk
select aru).ToList<Aru>();
listBox1.DataSource = aruk;
}
private void button1_Click(object sender, EventArgs e)
{
List<Aru> aruk = new List<Aru>();
foreach (Aru item in listBox2.Items)
{
aruk.Add(item);
}
uj = new Megrendeles {account=belepett,aruk=aruk };
}
public class Megrendeles
{
public int ID { get; set; }
public virtual Account account { get; set; }
public virtual List<Aru> aruk { get; set; }
}
}
是的,基本上我想创建一个订购程序。 MegrendelesForm的button1_Click事件给出了一个Megrendeles(翻译成英语:order)对象,其中包含orderers帐户ID,以及订购产品列表,以及我想要更改为数据库的主表单。帐户和产品在数据库中都有自己的表。但我真的很陌生,所以我只想分享一个上下文来问你是什么意思?我怎样才能做到这一点? – fzl 2013-04-21 09:02:54