Devexpress UnitOfWork CommitChanges未编辑数据库行
所以我使用UnitOfWork将对象保存到数据库。。这工作做得很好。但是,当我尝试编辑对象并再次保存它时,不会将任何更改写入数据库 以下是用于保存的代码段: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();
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@布伦顿:我同意你的看法。我也注意到我所做的是错误的。当我解决我的问题时,我很快就摆脱了它。