如何存储参考参数?考虑原始对象的变化

时间:2017-06-22 17:01:34

标签: c# winforms entity-framework

我正在做一个POS软件,客户端要求POS在单独的窗口中执行Cuotes ,所以我在主POS窗口中输入了一个Audit对象希望在收银员切割之前存储实际销售历史的信息,因此我将 ref Audit对象传递给frmCuotes,因此两个窗口都在更改{{1} }

Audit

因此,当frmCuotes添加新的Cuotes时,此工作正常,POS中的class POS:Form { EFContext db = new EFContext(); //Get the last audit open if doesn't exist make a new one Audit _audit = getLastAudit(ref db); private void POS_Load(object sender, EventArg e) { frmCuotes cuoteswdw = new frmCuotes(ref _audit, ref db); cuoteswdw.Show(); } private void CashierCut() { _audit.State = Close; db.SaveChanges(); _audit = getLastAudit(ref db); } //Other more POS operations } class frmCuotes:Form { Audit _audit; EFContext db; public frmCuotes(ref Audit aud, ref EFContext db) { this._audit = aud; this.db = db; } private void cmdSaveCuote_Click(object sender, EventArgs e) { var cuote = new Cuote(); //fill Cuote object ... _audit.Cuotes.Add(cuote) db.SaveChanges(); } } class Audit { public int Id { get; set; } public int Id_Company { get; set; } public int Id_Terminal { get; set; } public virtual ICollection<Cuotes> Cuotes { get; set; } public virtual ICollection<Sales> Sales { get; set; } } 得到反映的更改,但是当我从POS更改_audit时,我自己得不到frmCuotes中反映的更改,例如_audit被执行,新的CashierCut()创建时使用了不同的Audit,但在POS收银后,我提到frmCuotes仍然有旧的Id。 为什么这些变化仅以一种方式反映出来?

0 个答案:

没有答案