如何做才能让你的NHibernate忽略的属性在POCO [英] How do you make NHibernate ignore a property in a POCO

查看:281
本文介绍了如何做才能让你的NHibernate忽略的属性在POCO的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有POCO,是这样的:

We have POCO, something like:

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>

如果你仔细观察,我们有一个版本属性,其中有在数据库中没有列?我们只是想NHibernate的忽略这个属性,这就是我们没有把属性映射文件的原因。但是相反,它开始抛出错误。

If you look closely, we have a Version property, for which there is no column in the database ? We just want nHibernate to ignore this property and that's the reason we did not put the property in the mapping file. But instead it started throwing error.

有没有解决的办法吗?

推荐答案

您应该使所有成员的虚拟,而不是图你想忽略的属性。

You should make all members virtual and not map the property you want to ignore.

这篇关于如何做才能让你的NHibernate忽略的属性在POCO的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆