Devexpress UnitOfWork CommitChanges未编辑数据库行

Devexpress UnitOfWork CommitChanges未编辑数据库行,devexpress,devexpress-windows-ui,Devexpress,Devexpress Windows Ui,所以我使用UnitOfWork将对象保存到数据库。。这工作做得很好。但是,当我尝试编辑对象并再次保存它时,不会将任何更改写入数据库 以下是用于保存的代码段: this.uow = new UnitOfWork(); this.job = new Job(uow); using (UnitOfWork u = new UnitOfWork()) { job.Truck = cboTrucks.SelectedItem.ToString();

所以我使用UnitOfWork将对象保存到数据库。。这工作做得很好。但是,当我尝试编辑对象并再次保存它时,不会将任何更改写入数据库

以下是用于保存的代码段:

this.uow = new UnitOfWork();
this.job = new Job(uow);

using (UnitOfWork u = new UnitOfWork())
            {
                job.Truck = cboTrucks.SelectedItem.ToString();
                job.Driver = cboDriver.SelectedItem.ToString();
                job.Load = txtLoad.Text;
                job.Comment = txtComment.Text;
                job.FileOk = chkFile.Checked;
                job.Notified = chkNotified.Checked;
                job.JobDate = dteJobDate.DateTime;

                u.CommitChanges();
            }

我终于让它工作了这就是我所改变的:

之前:

this.uow = new UnitOfWork();
this.job = new Job(uow);
之后:

this.uow = new UnitOfWork();
this.job = new XPQuery<TIS.Model.Internal.Job>(uow).Where(q => q.Id == job.Id).FirstOrDefault();
this.uow=新的工作单元();
this.job=newxpquery(uow).Where(q=>q.Id==job.Id).FirstOrDefault();

为什么要用一个UnitOfWork创建作业对象,然后尝试将其保存在另一个UnitOfWork下?这似乎很容易导致SessionMixingException@布伦顿:我同意你的看法。我也注意到我所做的是错误的。当我解决我的问题时,我很快就摆脱了它。