我读过,使用后退勾号应该允许使用保留字。我正在使用SQL Server和Fluent NHibernate,并且列名为“File”。如果我用
映射它"`File"
尝试使用
[Fil]
所以它正确地添加了括号,但是从末尾删除了“e”。如果我将其映射为
"`Filee"
它使用
[File]
正确。
我做错了什么或者这是NHibernate或Fluent Nhibernate中的错误?
答案 0 :(得分:20)
你需要把'放在两边,像这样:
"`File`"
正如@Astaar所说,完整的语法是:
Map(x => x.File).Column("`File`");
答案 1 :(得分:5)
非常清楚,确切的语法是
Map(x => x.File).Column("`File`");
答案 2 :(得分:4)
这里有非手动配置选项,如下所述:NHibernate: forcing square brackets in schema export?
E.g。 FluentNhibernate中的SchemaMetadataUpdater.QuoteTableAndColumns(cfg)
看起来像
var config = Fluently.Configure()
...
...
.ExposeConfiguration(cfg => SchemaMetadataUpdater.QuoteTableAndColumns);