我们有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; }
}
相应的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>
如果仔细观察,我们有一个Version属性,数据库中没有列?我们只是希望nHibernate忽略这个属性,这就是我们没有将属性放在映射文件中的原因。但相反,它开始抛出错误。
有解决方法吗?
答案 0 :(得分:19)
您应该将所有成员设为虚拟,而不是映射您要忽略的属性。