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セッションと第 1 レベルのキャッシュから元の車が削除され、新しい車を保存できるはずです。

于 2013-09-20T13:04:17.260 に答える