我有类使用NHibernate映射到数据库的Person.我从DB加载对象并将其发送到不同的客户端.第一个客户端将修改Name和Country属性.第二个客户端将仅修改Name属性.然后两者都将修改后的对象返回给服 当我从第一个客户端保存数据时 - 然后保存正确,两者 - 名称和国家/地区更新.当我从第二个客户端保存数据时 - 我有问题.它是来自第一个客户端的覆盖数据并保存新名称和国家/地区的初始值.
我如何告诉NHibernate只保存Name值而不是覆盖Country值?
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();
}
} …Run Code Online (Sandbox Code Playgroud)