0

我正在更新表单中的实体,为简单起见,我们将其称为 CompanyCar。我的目标是检查其分配的所有者是否已更改,如果是,则向新旧所有者发送电子邮件。

public Car SaveExistingCar(Car car)
        {


            var original = _CarRepository.LoadCarById(Car.Id);


            var carReturn = _CarRepository.SaveOrUpdateCar(Car)   //Error here


             //pseudo: if carReturn.Owner != original.Owner
             // Send Email


        return carReturn;
    }

不幸的是,它对此非常生气。

 a different object with the same identifier value was already associated with the session

我可以理解是什么导致了这种情况发生……当然,好吧,它对真实物体感到困惑。但是,这对我解决它没有多大帮助。我能做些什么来告诉它“原件”是假的吗?

4

1 回答 1

2

ISession.Evict将从会话和一级缓存中删除原车,您应该能够保存新车。

于 2013-09-20T13:04:17.260 回答