1
resposta

Could not compile the mapping document: Loja.Mapeamentos.Usuario.hbm.xml

Boa noite pessoal,

Dei uma pesquisada no fórum antes e vi um tópico similar, mas nenhuma informação lá me ajudou. Fiz a tarefa de acordo com o exemplo apresentado, mas me retorna o seguinte erro:

An unhandled exception of type 'NHibernate.MappingException' occurred in NHibernate.dll

Additional information: Could not compile the mapping document: Loja.Mapeamentos.Usuario.hbm.xml

Aqui está o código do Usuario.hbm.xml:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Loja" namespace="Loja.Entidades">
  <class name="Usuario">
    <id name="Id">
      <generator class="identity" />
    </id>
    <property name="Nome" />
  </class>
</hibernate-mapping>

Além disso, tive que adicionar um import na classe NHibernateHelper.cs pra poder reconhecer o Assembly e outro pra reconhecer o SchemaExport:

using NHibernate.Cfg;
using NHibernate.Tool.hbm2ddl; //este para o SchemaExport
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection; //este para Assembly
using System.Text;
using System.Threading.Tasks;

namespace Loja.Infra
{
    public class NHibernateHelper
    {
        public static Configuration RecuperaConfiguracao()
        {
            Configuration cfg = new Configuration();
            cfg.Configure();

            cfg.AddAssembly(Assembly.GetExecutingAssembly());

            return cfg;
        }

        public static void GeraSchema()
        {
            Configuration cfg = RecuperaConfiguracao();
            new SchemaExport(cfg).Create(true, true);
        }
    }
}

O que estou fazendo de errado?

1 resposta

Oi Renan, tudo bom?

Você pode dar uma conferida aqui no projeto pronto desse capitulo:

https://github.com/alura-cursos/Nhibernate/blob/master/Nhibernate%20capitulo%201.zip

Aqui está tudo funcionando certinho. De repente pode ser algum detalhe =)

Qualquer dificuldade, compartilha com a gente!

Abraço