Session: How to check if entity has changed?

To check if specific entity differs from the one downloaded from server HasChanged method from Advanced session operations has been introduced.


bool HasChanged(object entity);
entity object Instance of entity for which changes will be checked.
Return Value
bool Indicated if given entity has changed.


Employee employee = session.Load<Employee>("employees/1");
bool hasChanged = session.Advanced.HasChanged(employee); // false
employee.LastName = "Shmoe";
hasChanged = session.Advanced.HasChanged(employee); // true