SQL 데이터베이스에서 트리거를 사용하여 테이블에 대한 변경 정보를 캡처하고 있지만 nhibernate에 문제가있는 것 같습니다.nhibernate 감사 트리거 오류
테이블에 몇 개의 열과 기본 키와 트리거가 있습니다. 트리거는 다음과 같습니다.
CREATE TRIGGER [dbo].[tr_Instrument_update] ON [dbo].[Instrument] FOR UPDATE AS
BEGIN
INSERT [MyAudit].[audit].[Instrument]
SELECT 'Updated', i.*
FROM inserted
INNER JOIN [MyAudit].[dbo].[Instrument] i ON inserted.[InstrumentID] = i.[InstrumentID]
END
기본적으로 모든 변경시 감사 테이블에 행이 복사됩니다. 나는 시험과 내가 직접 SQL 관리 스튜디오를 통해 데이터를 수정하면 올바르게 기능을 트리거하고 난 내가 내 응용 프로그램을 업데이트하면 그러나 나는 다음과 같은 얻을, 감사 테이블에 기록 된 데이터를 얻을 수있다 :
NHibernate.StaleObjectStateException 했다 사용자 코드에 의해 처리되지 않은
메시지 = 행이 갱신 또는 삭제 다른 트랜잭션 (또는 저장되지 않은 값 매핑이 정확) 한
내가 트리거가 다른 데이터베이스에서 다른 테이블을 업데이트하기 때문에이 가정 어쨌든있다 nhibernate 만들기 변경 사항이 해당 데이터에 영향을 미치지 않으므로이를 무시하십시오. 매핑에서이 감사 데이터에 대한 참조가 없습니다.