Only update changed fields

Add dynamic-update="true" in configuration file on the class level node

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="TstDBConnection.Entities" assembly="TstDBConnection">
  <class name="Course" table="Course" dynamic-update="true"> //<---------- here
    <id name="Id" column="Id">
      <generator class="guid.comb"/>
    </id>
    <property name="Name" column="Name"></property>
    <property name="CreatedDate" column="CreatedOn"></property>
  </class>
</hibernate-mapping>
        public static void TestUpdate(ISessionFactory sessionFactory)
        {
            //Use NHibernate to create an entity and get a list of all entities
            using (ISession session = sessionFactory.OpenSession())
            {
                Course emp = session.Load<Course>(new Guid("A3EEFCBE-0F0B-4939-9781-A0CA00F9BCA7"));
                emp.Name = "Tian";
                session.SaveOrUpdate(emp);
                session.Flush();

                var query = from course in session.Query<Course>()
                            select course;
                IList<Course> courses = query.ToList();
            }
        }
原文地址:https://www.cnblogs.com/webglcn/p/2681953.html