我读过,使用反勾'应该允许使用的保留字。 我使用的是SQL Server和流利的NHibernate和有列名“文件”。 如果我映射它与
"`File"
它会尝试使用
[Fil]
所以它的正确添加括号,但最终去掉了“E”。 如果我映射它作为
"`Filee"
它用
[File]
正确。
难道我做得不对或这是NHibernate的或功能NHibernate的错误?
我读过,使用反勾'应该允许使用的保留字。 我使用的是SQL Server和流利的NHibernate和有列名“文件”。 如果我映射它与
"`File"
它会尝试使用
[Fil]
所以它的正确添加括号,但最终去掉了“E”。 如果我映射它作为
"`Filee"
它用
[File]
正确。
难道我做得不对或这是NHibernate的或功能NHibernate的错误?
你需要把`两侧,像这样:
"`File`"
作为@Astaar说,完整的语法是:
Map(x => x.File).Column("`File`");
要非常清楚,确切的语法是
Map(x => x.File).Column("`File`");
有此非手动配置选项,这里介绍: NHibernate的:强迫方括号中的架构出口?
以及替代: 功能NHibernate和PostgreSQL,SchemaMetadataUpdater.QuoteTableAndColumns - System.NotSupportedException:指定的方法不支持
如SchemaMetadataUpdater.QuoteTableAndColumns(cfg)
这FluentNhibernate会看起来像
var config = Fluently.Configure()
...
...
.ExposeConfiguration(cfg => SchemaMetadataUpdater.QuoteTableAndColumns);