NHibernate - 强制转义表名

时间:2009-03-24 21:17:39

标签: .net nhibernate fluent-nhibernate-mapping mapping-by-code

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

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

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

1 个答案:

答案 0 :(得分:15)

将表名指定为“User`。例如:

(HBM)
<class name="User" table="`User`">

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

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

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

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

哦,使用传统数据库的乐趣。