使用Fluent NHibernate命名为“Order”的DB列

时间:2009-01-27 17:36:05

标签: nhibernate fluent-nhibernate

我发现我正在处理的遗留数据库中的一个表有一个名为“Order”的列。 不幸的是我无法改变数据库结构 我的Fluent NHibernate类看起来像

 public class SiteMap : AutoMap<Site>
{
    public SiteMap() {
        WithTable("Sites");
        Id(x => x.ID, "Id")
            .WithUnsavedValue(0)
            .GeneratedBy.Identity();
        Map(x => x.Name, "Name");
        //various columns mapping and then...
        Map(x => x.SiteOrder, "Order");
    }
}

我不知道问题是FluentNH还是NHibernate本身,但我可以确认问题出在“订单”保留名称上。

如何解决这个问题?

更新:按照建议的顺序[订单]工作。谢谢!
但是现在我只链接到SQL2005?

2 个答案:

答案 0 :(得分:5)

尝试将Order置于后面的刻度:``Order 。由于FluentNH在运行时生成HBM文件,我想应该解决问题。

答案 1 :(得分:2)

幕后的数据库是什么?

使用MS SQL,你应该能够通过用方括号

包围“Order”字段来解决这个问题
Map(x => x.SiteOrder, "[Order]");

编辑:方括号应该适用于所有版本的MS SQL以及MS Access。不确定其他平台,但它也可能在其他平台上工作。

相关问题