如何告诉NHibernate始终强制引用标识符?

如何告诉NHibernate始终强制引用标识符?,nhibernate,Nhibernate,标题:我如何一劳永逸地告诉NHibernate,所有表名和列名都要在它生成的SQL中引用?我没有尝试过这个,但据我所知,基于命名策略的自定义实现允许您重写表/列名,因此也允许您引用它们。您需要添加 <property name="hbm2ddl.keywords">auto-quote</property> 自动报价 到您的NHibernate配置。您也可以尝试: SchemaMetadataUpdater.QuoteTableAndColumns(configura

标题:我如何一劳永逸地告诉NHibernate,所有表名和列名都要在它生成的SQL中引用?

我没有尝试过这个,但据我所知,基于命名策略的自定义实现允许您重写表/列名,因此也允许您引用它们。

您需要添加

<property name="hbm2ddl.keywords">auto-quote</property>
自动报价
到您的NHibernate配置。

您也可以尝试:

SchemaMetadataUpdater.QuoteTableAndColumns(configuration);

这对我来说100%有效。有趣的是,NHibernate只引用保留关键字,而不是所有内容。谢谢这似乎没有引用列名,至少对于postgresql是这样。这也不适用于oracle!(Oracle.DataAccess Provider)此引用断开的链接。