NHibernate的默认模式在Sqlite中被忽略

本文关键字:Sqlite 默认 模式 NHibernate | 更新日期: 2023-09-27 18:02:33

当使用NHibernate模式导出时,我配置它如下:

Fluently().Configure
            .Database(SQLiteConfiguration.Standard
                .DefaultSchema("someschema")
                .Provider<SqliteInMemoryDriverConnectionProvider>()
                .ShowSql()
                .FormatSql()
                .Raw(Environment.GenerateStatistics, "true"))

但是,当我查看生成的表(使用SchemaExport)时,它们是这样生成的:

Create table dbo_sometable ... 

看起来它仍然在使用标准的dbo-前缀。如何生成不带dbo前缀的表?

更多信息:

我正在尝试使用NHibernate在内存中运行一些集成测试。我做了一些NHibernate的插入和更新(它们工作得很好,因为它们也会自动添加模式前缀)。我也做了一些手动查询相同的表,虽然,只使用表名。在实际代码中,这工作得很好(对MS SQL Server数据库),在测试代码中,它失败了,因为它没有找到表sometable,因为它被生成为dbo_sometable

NHibernate的默认模式在Sqlite中被忽略

似乎您的映射设置了模式。