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.

Syntax

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

Example

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