tags:

views:

22

answers:

1

I have a web service that uses nhibernate, calls to the web service go to a simple method that opens the session, begins a transaction and then calls code I don't control that sometimes modifies entities, after that code returns the transaction is commited.

I need to add some extra processing inside the transaction that only happens if entities actually changed, I don't control the code that is called from the web service and I can't change it or make it return any additional information.

That code may even flush the nhibernate session.

How can I tell if any entity changed in the current transaction?

Thanks

+1  A: 

ISession has .IsDirty() that would indicate that upon flush, something would be written to the database.

jishi