2009-01-27 15 views
4

我發現我正在使用的遺留數據庫中的一個表有一個名爲「Order」的列。 不幸的是我不能改變數據庫結構。
我的功能NHibernate類看起來像用流暢的NHibernate命名爲「Order」的DB列

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的本身,但我可以證實,問題出在保留名稱「訂單」。

如何解決這個問題?

更新:建議將[Order]工作的形式放入。謝謝!
但現在我只鏈接到SQL2005?

回答

5

試着把訂單放在後面的勾號中:``Order 。由於FluentNH在運行時生成HBM文件,我想應該可以解決這個問題。

2

什麼是幕後數據庫?

與MS SQL,你應該能夠通過周圍用方括號

Map(x => x.SiteOrder, "[Order]"); 

編輯「訂單」字段來解決這個問題:方括號中的所有版本的MS SQL的工作,以及MS訪問。不確定其他平臺,但它也可能在其他平臺上工作。

相關問題