NHibernate에서 어떻게 Flush
(및 NHibernate.ISession
)이 작동하는지 혼란스러워합니다.NHibernate 플러시 - 어떻게 작동합니까?
내 코드에서 ISession.Save(entity)
을 사용하여 개체를 저장하면 해당 개체를 데이터베이스에 직접 저장할 수 있습니다.
그러나 ISession.SaveOrUpdate(entity)
또는 ISession.Update(entity)
을 사용하여 개체를 업데이트하면 데이터베이스의 개체가 업데이트되지 않습니다. 업데이트하려면 ISession.Flush
으로 전화해야합니다.
나는 다음과 같이 객체가 업데이트 방법에 대한 절차 :
- 예를 들어,
ISession.Get(typeof(T), id)
- 변경 객체 속성을 사용하여 데이터베이스에서 개체를 확보,
myCar.Color="Green"
- 가 다시 그것을 커밋
ISession.Update(myCar)
myCar
은 데이터베이스로 업데이트되지 않습니다. 그러나 나중에 ISession.Flush
으로 전화하면 업데이트됩니다.
언제 Flush
을 사용하고 언제 사용하지 않을까요?
[NHibernate ISession Flush : 가능한 곳과 장소 및 이유] (http://stackoverflow.com/questions/43320/nhibernate-isession-flush-where-and-when-to) -use-it-and-why) – sleske