我试图生成数据库的表但是没有生成表。 我正在做这样的映射:
using Domain.Entidades;
using FluentNHibernate.Cfg;
using FluentNHibernate.Cfg.Db;
using NHibernate.Tool.hbm2ddl;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Domain.Infraestrutura
{
public class Conexao
{
public static void CriarTabelasBanco()
{
FluentConfiguration configuration = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(x => x.FromConnectionStringWithKey("psConnection")).ShowSql())
.ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, true))
.Mappings(x => x.FluentMappings.AddFromAssemblyOf<Pessoa>());
configuration.BuildSessionFactory();
}
}
}
答案 0 :(得分:0)
首先添加映射,然后调用ExposeConfiguration,否则在调用SchemaExport时配置不知道映射。
除此之外,SchemaExport
以静默方式失败,因此如果有任何错误,它将不会抛出异常,而是可以查看SchemaExport实例的异常列表,因此您必须构建电话略有不同。