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