Как я могу сказать NHibernate сохранять только измененные свойства

У меня есть класс Person, сопоставленный с базой данных с помощью NHibernate. Загружаю объекты из БД и отправляю разным клиентам. Первый клиент изменит свойство Name и Country. Второй клиент изменит только свойство Name. Затем оба возвращают измененные объекты на сервер. Когда я сохраняю данные от первого клиента, а затем сохраняю правильно, оба имени и страна обновляются. Когда я сохраняю данные от второго клиента - у меня проблема. Это было переопределение данных от первого клиента и сохранение нового имени и начального значения страны.

Как я могу сказать NHibernate, чтобы сохранить только значение имени и не переопределять значение страны?

public class Person
{
    public string Name { get; set; }
    public string Country { get; set; }
}

public static List<Person> GetEntities()
{
    var factory = CreateSessionFactory();
    using (ISession session = factory.OpenSession())
    {
        return session.CreateCriteria<Person>().List<Person>();                
    }
}

public static void SaveEntities(List<Person> entities)
{
    var factory = CreateSessionFactory();
    using (ISession session = factory.OpenSession())
    {
         using (var t = session.BeginTransaction())
         {
             foreach (var person in entities)
             {
                 session.Merge(person);
             }

             t.Commit();
        }
    }
}

PS: Извините за мой плохой английский

6
задан gagabu 7 June 2011 в 16:08
поделиться