gpt4 book ai didi

c# - 使用 NHibernate 和 FluentNHibernate 创建数据库和表?

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:42 26 4
gpt4 key购买 nike

我正在寻找使用 NHibernate 和 FluentNHibernate 创建数据库 的方法。

我该怎么做?

尝试。

private static ISessionFactory createConnection()
{
if (session != null)
return session;

//database configs
FluentConfiguration _config = Fluently.Configure().Database(
MySQLConfiguration.Standard.ConnectionString(
x => x.Server(HOST).
Username(USER).
Password(PASSWORD).
Database(DB)
))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<PerfilMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<ModuloMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<PermissaoMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<UsuarioMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<CategoriaMap>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<SubcategoriaMap> ())
.ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true));

session = _config.BuildSessionFactory();
return session;
}

最佳答案

NHibernate 和 FNH 都不会自己创建数据库。您必须自己提供代码或预先创建的数据库。但它可以为您创建表格。执行此操作的类调用 SchemaExport。在 Fluent 中,它看起来像这样:

var sessionFactory = Fluently.Configure()
.Database(/* ... */)
.Mappings(/* ... */)
.ExposeConfiguration(cfg => new SchemaExport(cfg).Execute(true, true, false))
.BuildSessionFactory();

无耻地复制自this SO question .

关于c# - 使用 NHibernate 和 FluentNHibernate 创建数据库和表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36048280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com