NHibernate:在模式导出中强制使用方括号?

Igo*_*ejc 6 nhibernate fluent-nhibernate

有没有办法告诉NHibernate在[MyColumn]为MS SQL Server生成SQL模式导出时为所有表名和列名(如)使用方括号?我有一个遗留数据库,它使用某些列的保留名称,并且运行使用NH生成的SQL脚本会因此而抛出错误.

我想避免为每列单独指定它.

更新:我正在使用正确的方言:

MsSqlConfiguration.MsSql2008.ConnectionString(connectionString)
Run Code Online (Sandbox Code Playgroud)

更新2:@UpTheCreek指出了正确的方向 - 反引号,这帮助我找到了" NHibernate in Action "一书中的答案(第76页):

除了引用反引号中的所有表名和列名之外,没有办法强制NHibernate在任何地方使用带引号的标识符.

Die*_*hon 11

更简单的方法:

SchemaMetadataUpdater.QuoteTableAndColumns(config)
Run Code Online (Sandbox Code Playgroud)

(在构建SessionFactory之前)

这将自动引用所有保留名称.