Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you make NHibernate ignore a property in a 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; }
}

And the corresponding hbm file as

<?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>

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.

Is there a way around this ?

like image 543
Sanket Naik Avatar asked Apr 29 '11 10:04

Sanket Naik


1 Answers

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

like image 182
Marc Climent Avatar answered Sep 20 '22 16:09

Marc Climent