0

我正在尝试生成数据库的表,但未生成表。我正在做这样的映射:

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();
        }
    }
}
4

1 回答 1

0

首先添加映射,然后调用 ExposeConfiguration,否则在调用 SchemaExport 时配置不知道映射。

除此之外,SchemaExport静默失败,因此如果有任何错误,它不会抛出异常,相反,您可以查看 SchemaExport 实例的异常列表,因此您必须构造稍微不同的调用。

于 2013-10-02T10:04:35.183 回答