Существует принципиальная разница между NHibernate и Entity-Framework.Метод ObjectContext.SaveChanges (..) EF сохраняет только изменения, внесенные в объект, пока он был частью контекста объекта.Пример:
MyEntity e = new MyEntity();
e.Key = blabla;
e.Id = 3242342;
e.Name = "Hugo";
using(MyObjectContext ct = new MyObjectcontext())
{
ct.MyEntity.Attach(e);
ct.SaveChanges();
}
Это вообще не изменит БД, потому что не было никаких изменений, которые были внесены в сущность, пока она была частью контекста.В NHibernate значение Hugo будет сохранено в БД.В Nhibernate нет необходимости самостоятельно отслеживать объекты.