Nhibernate Error dehydrating property value for X
<p>I'm having problem when saving an entity with association. Below is my code which gives the error:</p>
<blockquote>
<p>&quot;Error dehydrating property value for
Data.Entities.Pessoa_fisica.NOME_PAI&quot;.</p>
</blockquote>
<pre><code>        public class Pessoa_fisica
        {
            public virtual int ID { get; set; }
            public virtual Pessoa Pessoa { get; set; }
            public virtual Estado_civil Estado_civil { get; set; }
            public virtual string CPF { get; set; }
            public virtual string RG { get; set; }
            public virtual string ORGAO_RG { get; set; }
            public virtual DateTime DATA_EMISSAO_RG { get; set; }
            public virtual DateTime DATA_NASCIMENTO { get; set; }
            public virtual string SEXO { get; set; }
            public virtual string NATURALIDADE { get; set; }
            public virtual string NACIONALIDADE { get; set; }
            public virtual string RACA { get; set; }
            public virtual string TIPO_SANGUE { get; set; }
            public virtual string CNH_NUMERO { get; set; }
            public virtual string CNH_CATEGORIA { get; set; }
            public virtual DateTime CNH_VENCIMENTO { get; set; }
            public virtual string TITULO_ELEITORAL_NUMERO { get; set; }
            public virtual int TITULO_ELEITORAL_SECAO { get; set; }
            public virtual string RESERVISTA_NUMERO { get; set; }
            public virtual int RESERVISTA_CATEGORIA { get; set; }
            public virtual int TITULO_ELEITORAL_ZONA { get; set; }
            public virtual string NOME_MAE { get; set; }
            public virtual string NOME_PAI { get; set; }
        }
    
        public class Pessoa
        {
            public virtual int ID { get; set; }
            public virtual IList&lt;Pessoa_fisica&gt; PessoasFisicas { get; set; }
            public virtual string NOME { get; set; }
            public virtual string TIPO { get; set; }
            public virtual string EMAIL { get; set; }
            public virtual string SITE { get; set; }
            public virtual string CLIENTE { get; set; }
            public virtual string FORNECEDOR { get; set; }
            public virtual string COLABORADOR { get; set; }
            public virtual string CONVENIO { get; set; }
            public virtual string CONTADOR { get; set; }
            public virtual string TRANSPORTADORA { get; set; }
        }
    
        &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
    
        &lt;hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; auto-import=&quot;true&quot; assembly=&quot;Data&quot; namespace=&quot;Data.Entities&quot;&gt;
          &lt;class name=&quot;Pessoa&quot; table=&quot;pessoa&quot; dynamic-update=&quot;true&quot; &gt;
            &lt;cache usage=&quot;read-write&quot;/&gt;
            &lt;id name=&quot;ID&quot; column=&quot;ID&quot; type=&quot;int&quot;&gt;
              &lt;generator class=&quot;native&quot; /&gt;
            &lt;/id&gt;
            &lt;bag name=&quot;PessoasFisicas&quot;
                 lazy=&quot;true&quot;
                 inverse=&quot;true&quot;
                 batch-size=&quot;25&quot;
                 cascade=&quot;save-update&quot;&gt;
              &lt;key column=&quot;ID&quot; /&gt;
              &lt;one-to-many class=&quot;Pessoa_fisica&quot; /&gt;
            &lt;/bag&gt;
            &lt;property name=&quot;NOME&quot; /&gt;
            &lt;property name=&quot;TIPO&quot; /&gt;
            &lt;property name=&quot;EMAIL&quot; /&gt;
            &lt;property name=&quot;SITE&quot; /&gt;
            &lt;property name=&quot;CLIENTE&quot; /&gt;
            &lt;property name=&quot;FORNECEDOR&quot; /&gt;
            &lt;property name=&quot;COLABORADOR&quot; /&gt;
            &lt;property name=&quot;CONVENIO&quot; /&gt;
            &lt;property name=&quot;CONTADOR&quot; /&gt;
            &lt;property name=&quot;TRANSPORTADORA&quot; /&gt;
          &lt;/class&gt;
        &lt;/hibernate-mapping&gt;
    
      &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
        &lt;hibernate-mapping xmlns=&quot;urn:nhibernate-mapping-2.2&quot; auto-import=&quot;true&quot; assembly=&quot;Data&quot; namespace=&quot;Data.Entities&quot;&gt;
          &lt;class name=&quot;Pessoa_fisica&quot; table=&quot;pessoa_fisica&quot; dynamic-update=&quot;true&quot; &gt;
            &lt;cache usage=&quot;read-write&quot;/&gt;
            &lt;id name=&quot;ID&quot; column=&quot;ID&quot; type=&quot;int&quot;&gt;
              &lt;generator class=&quot;native&quot; /&gt;
            &lt;/id&gt;
            &lt;many-to-one not-null=&quot;true&quot; name=&quot;Pessoa&quot; column=&quot;ID&quot; /&gt;
            &lt;many-to-one not-null=&quot;false&quot; name=&quot;Estado_civil&quot; column=&quot;ID&quot; /&gt;
            
            &lt;property name=&quot;CPF&quot; /&gt;
            &lt;property name=&quot;RG&quot; /&gt;
            &lt;property name=&quot;ORGAO_RG&quot; /&gt;
            &lt;property name=&quot;DATA_EMISSAO_RG&quot; /&gt;
            &lt;property name=&quot;DATA_NASCIMENTO&quot; /&gt;
            &lt;property name=&quot;SEXO&quot; /&gt;
            &lt;property name=&quot;NATURALIDADE&quot; /&gt;
            &lt;property name=&quot;NACIONALIDADE&quot; /&gt;
            &lt;property name=&quot;RACA&quot; /&gt;
            &lt;property name=&quot;TIPO_SANGUE&quot; /&gt;
            &lt;property name=&quot;CNH_NUMERO&quot; /&gt;
            &lt;property name=&quot;CNH_CATEGORIA&quot; /&gt;
            &lt;property name=&quot;CNH_VENCIMENTO&quot; /&gt;
            &lt;property name=&quot;TITULO_ELEITORAL_NUMERO&quot; /&gt;
            &lt;property name=&quot;TITULO_ELEITORAL_SECAO&quot; /&gt;
            &lt;property name=&quot;RESERVISTA_NUMERO&quot; /&gt;
            &lt;property name=&quot;TITULO_ELEITORAL_ZONA&quot; /&gt;
            &lt;property name=&quot;RESERVISTA_CATEGORIA&quot; /&gt;
            &lt;property name=&quot;NOME_MAE&quot; /&gt;
            &lt;property name=&quot;NOME_PAI&quot; /&gt;
          &lt;/class&gt;
        &lt;/hibernate-mapping&gt;

if (ModelState.IsValid)
            {
                ISession session = Data.Entities.NHIbernateSession.OpenSession();
                ITransaction tx = session.BeginTransaction();
                Data.Entities.Pessoa objPessoa = new Data.Entities.Pessoa();
                Data.Entities.Pessoa_fisica objPessoaFisica = new Data.Entities.Pessoa_fisica();
                objPessoaFisica.Pessoa = new Data.Entities.Pessoa();

                objPessoa.TIPO = &quot;F&quot;;
                objPessoa.NOME = pessoa.Nome;
                objPessoa.EMAIL = pessoa.Email;
                objPessoa.SITE = pessoa.Site;
                objPessoa.CLIENTE = pessoa.Cliente ? &quot;S&quot; : &quot;N&quot;;
                objPessoa.FORNECEDOR = pessoa.Cliente ? &quot;S&quot; : &quot;N&quot;;
                objPessoa.COLABORADOR = pessoa.Cliente ? &quot;S&quot; : &quot;N&quot;;
                objPessoa.CONVENIO = pessoa.Cliente ? &quot;S&quot; : &quot;N&quot;;
                objPessoa.CONTADOR = pessoa.Cliente ? &quot;S&quot; : &quot;N&quot;;
                objPessoa.TRANSPORTADORA = pessoa.Cliente ? &quot;S&quot; : &quot;N&quot;;
                
                objPessoaFisica.Pessoa = objPessoa;
                objPessoaFisica.CPF = pessoa.CPF.Replace(&quot;.&quot;, &quot;&quot;).Replace(&quot;-&quot;, &quot;&quot;);
                objPessoaFisica.DATA_NASCIMENTO = Convert.ToDateTime(pessoa.Nascimento);
                objPessoaFisica.Estado_civil = session.Query&lt;Data.Entities.Estado_civil&gt;().Where(c =&gt; c.ID == pessoa.EstadoCivil).First();
                objPessoaFisica.RACA = pessoa.Raca;
                objPessoaFisica.TIPO_SANGUE = pessoa.TipoSanguineo;
                objPessoaFisica.NACIONALIDADE = pessoa.Nacionalidade;
                objPessoaFisica.NATURALIDADE = pessoa.Naturalidade;
                objPessoaFisica.NOME_PAI = pessoa.NomePai;
                objPessoaFisica.NOME_MAE = pessoa.NomeMae;
                objPessoaFisica.RG = pessoa.RG.Replace(&quot;.&quot;, &quot;&quot;);
                objPessoaFisica.DATA_EMISSAO_RG = Convert.ToDateTime(pessoa.EmissaoRG);
                objPessoaFisica.ORGAO_RG = pessoa.OrgaoEmissor;
                objPessoaFisica.RESERVISTA_NUMERO = pessoa.NumeroReservista;
                objPessoaFisica.RESERVISTA_CATEGORIA = Convert.ToInt32(pessoa.ReservistaCategoria);
                objPessoaFisica.SEXO = pessoa.Sexo;
                objPessoaFisica.CNH_NUMERO = pessoa.NumeroCnh;
                objPessoaFisica.CNH_VENCIMENTO = Convert.ToDateTime(pessoa.VencimentoCnh);
                objPessoaFisica.CNH_CATEGORIA = pessoa.CategoriaCnh;
                objPessoaFisica.TITULO_ELEITORAL_NUMERO = pessoa.NumeroTitulo;
                objPessoaFisica.TITULO_ELEITORAL_ZONA = Convert.ToInt16(pessoa.Zona);
                objPessoaFisica.TITULO_ELEITORAL_SECAO = Convert.ToInt16(pessoa.Secao);
                objPessoa.PessoasFisicas = new List&lt;Data.Entities.Pessoa_fisica&gt;();
                objPessoa.PessoasFisicas.Add(objPessoaFisica);

                session.SaveOrUpdate(objPessoa);
                session.Flush();
                session.Clear();
                tx.Commit();

                return RedirectToAction(&quot;New&quot;, &quot;PessoaFisica&quot;);
</code></pre>