当前位置:  开发笔记 > 数据库 > 正文

NHibernate - 强制转义表名

如何解决《NHibernate-强制转义表名》经验,为你挑选了1个好方法。

有没有关于如何在线使用这个(NHibernate.Criterion.IdentifierEqExpression)的好例子?我找不到任何东西.我对你应该传递给构造函数的内容感到有点困惑.

我传入一个1的int32,我一直认为我的测试应该基本上做一个"where id = 1"类型的查询,而不是用"where id =?"来爆发 和位置参数的东西.如果那不是应该传递给构造函数的......那是什么?

实际问题
当我查看SQL输出时,似乎工作正常,除了我的表名为User并且NHibernate没有像[User]那样封闭它.有什么方法可以强迫这个?



1> Stuart Child..:

将表名指定为` User`.例如:

(HBM)


(Fluent)
public UserMap()
{
    WithTable("`User`");
    ...

(Mapping By Code)
public UserMap()
{
    Table("`User`");
    ...

同样,对于列,您必须执行以下操作:

Map(x => x.IsCurrent, "`Current`");

哦,与传统数据库合作的乐趣.


您可以使用反引号(`)以独立于数据库的方式转义名称([]是特定于SQL Server的).
推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有