2010-07-16 9 views
0

캐슬 활성 레코드를 사용 중입니다. 데이터베이스를 업데이트 한 후 .Find() 메소드를 사용하여 엔티티를로드하지만 entity.Refresh()를 호출했지만 엔티티가 데이터를 새로 고치지 않습니다. 데이터베이스에서 변경된 내용은 엔티티의 상태에 반영되지 않습니다. 나는이 일을하는 방법에 관해서는 총 망실이다.캐슬 액티브 레코드 객체가 새로 고침되지 않습니다.

+0

2 차 캐시를 사용하고 있습니까? –

답변

0

이 문제는 아마도 NHibernate 캐시에서 비롯된 것입니다.

데이터베이스 연결을 저장하기 위해 데이터베이스에서 개체가로드 된 경우 (만료되지 않은 채로) 캐시에 보관되며,이 값을 얻으려면 NHibernate에서 캐시 된 값을 제공합니다.

데이터베이스 직접 업데이트를 수행하면 캐시가 만료 될 때까지 응용 프로그램에서 해당 업데이트가 표시되지 않습니다.

기본을 직접 업데이트 할 수 없도록하려면 NHibernate 캐시를 비활성화해야합니다.

+0

주변을 둘러보고 캐시를 비활성화하는 방법을 찾을 수 없습니다. 어떻게 알 수 있습니까? – Matthew

관련 문제