Nhibernate,如何使用sql server关键字作为表名?

Nhibernate,如何使用sql server关键字作为表名?,nhibernate,s#arp-architecture,s#arp,Nhibernate,S#arp Architecture,S#arp,我正在使用sarp lite框架构建我的应用程序。我的一个表名为User。但用户是SQLServer2008关键字,所以它给我带来了问题 我试图修改代码以支持使用SQL Server关键字的表,但无法使其正常工作 这是密码 第32行:我将其更改为以下代码 classCustomizer.Table("[" + Inflector.Net.Inflector.Singularize(type.Name.ToString()) + "]"); 这对我来说似乎有点熟悉。 没有承诺,但您可以尝试在用户

我正在使用sarp lite框架构建我的应用程序。我的一个表名为User。但用户是SQLServer2008关键字,所以它给我带来了问题

我试图修改代码以支持使用SQL Server关键字的表,但无法使其正常工作

这是密码

第32行:我将其更改为以下代码

classCustomizer.Table("[" + Inflector.Net.Inflector.Singularize(type.Name.ToString()) + "]");

这对我来说似乎有点熟悉。 没有承诺,但您可以尝试在用户周围使用引号,如select*from User 或 很好地提供模式所有者,比如从Mydb.User中选择*


希望这有帮助。祝你好运

这对我来说似乎有点熟悉。 没有承诺,但您可以尝试在用户周围使用引号,如select*from User 或 很好地提供模式所有者,比如从Mydb.User中选择*


希望这有帮助。祝你好运

我已经在邮件列表中回答了这个问题,在这里发布答案供其他人轻松查找,并给出要点:

加: db.KeywordsAutoImport=Hbm2DDLKeyWords.AutoQuote


应该这样做

我已经在邮件列表中回答了这个问题,将答案张贴在这里,以便其他人轻松找到,并指出要点:

加: db.KeywordsAutoImport=Hbm2DDLKeyWords.AutoQuote


你也可以通过使用NHibernate的非DB特定转义字符(backtick)手动完成这项任务`

在SQL Server中,您可以执行[User],但在Oracle中则不同。如果您使用`User`NHibernate,则它将适应您当前使用的数据库


可以在这个问题上看到这一点:

您也可以通过使用NHibernate的非DB特定转义字符(backtick)手动执行此操作`

在SQL Server中,您可以执行[User],但在Oracle中则不同。如果您使用`User`NHibernate,则它将适应您当前使用的数据库


可以在这个问题上看到这一点:

感谢您的帮助,尝试在用户周围使用引号,不起作用。感谢您的帮助,尝试在用户周围使用引号,不起作用。