Fluent nhibernate 如何使用Fluent配置数据库表?
Iam正在尝试生成数据库的表,但未生成表。 我正在这样做映射:Fluent nhibernate 如何使用Fluent配置数据库表?,fluent-nhibernate,nhibernate-mapping,Fluent Nhibernate,Nhibernate Mapping,Iam正在尝试生成数据库的表,但未生成表。 我正在这样做映射: 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.Threa
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();
}
}
}
使用Domain.Entidades;
使用FluentNHibernate.Cfg;
使用FluentNHibernate.Cfg.Db;
使用NHibernate.Tool.hbm2ddl;
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
命名空间域.Infraestrutura
{
公共类科内考
{
公共静态无效CriarTabelasBanco()
{
FluentConfiguration=Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(x=>x.fromConnectionString WithKey(“psConnection”)).ShowSql()
.ExposeConfiguration(cfg=>newschemaexport(cfg).Create(true,true))
.Mappings(x=>x.FluentMappings.AddFromAssemblyOf());
BuildSessionFactory();
}
}
}
首先添加映射,然后调用ExposeConfiguration,否则在调用SchemaExport时配置不知道映射
除此之外,SchemaExport
以静默方式失败,因此如果有任何错误,它将不会抛出异常,相反,您可以查看SchemaExport实例的异常列表,因此您必须稍微改变调用的结构