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();

            }

        }

 

 

你可能感兴趣的:(update)