休眠审核触发错误
|
我在sql数据库上使用触发器来捕获表的更改信息,但是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 management studio触发器功能正确地修改了数据,并且我将数据写入了审计表,但是,如果我通过我的应用程序进行更新,则会得到以下信息:
NHibernate.StaleObjectStateException
用户代码未处理
Message =行已由更新或删除
另一笔交易(或未保存的价值
映射不正确)
我认为这是因为触发器更新了另一个数据库中的另一个表,是否仍然会使nhibernate忽略此表,因为更改不会影响其任何数据,因此在映射中我们没有引用此审计数据。
没有找到相关结果
已邀请:
1 个回复
缮淳彼誊