你如何让NHibernate忽略POCO中的属性

San*_*aik 12 .net c# nhibernate-mapping

我们有POCO,类似于:

public class Person
{
    public Guid PersonID { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }

    public DateTime DateOfBirth { get; set; }

    public string   Version {get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和相应的hbm文件一样

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.FirstAttempt"  namespace="NHibernate.FirstAttempt.Entity" >
  <class name="Person" lazy="false">
    <id name="PersonID">
      <generator class="guid" />
    </id>
    <property name="FirstName"  />
    <property name="LastName"     />
    <property name="DateOfBirth"  />
  </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

仔细观察,我们有一个Version属性,数据库中没有列?我们只是希望nHibernate忽略这个属性,这就是我们没有将属性放在映射文件中的原因.但相反,它开始抛出错误.

有没有解决的办法 ?

Mar*_*ent 19

您应该将所有成员设置为虚拟,而不是映射要忽略的属性.