2015-02-24 56 views
2

映射時,我有與NHibernate一個類「MyClass的」映射,但在我的數據庫表名是大寫(「MYCLASS」)。我試圖做一個集成測試,當執行我的測試時,我得到了SQL錯誤(「動態Sql錯誤」),我檢查了問題,我的查詢在表名處引用雙引號。廣東話覆蓋類與NHibernate

public class MyClass 
{ 
     public virtual int ID { get; set; } 
     public virtual int NAME { get; set; } 
} 

我該如何更改NHibernate的不使用雙引號表名查詢?

+0

查看內部異常,並粘貼在這裏留言! – 2015-02-24 13:15:24

+1

動態SQL錯誤 SQL錯誤代碼= -204 表未知 Balancas 位於第1行,列178 即內execption,原因不存在「Balancas」在我的數據的基礎上,如果我嘗試在我的數據的基礎上執行此查詢沒有雙引號運行。 例如:select * from「Balancas」 - >不運行,因爲名稱是大寫。 select * from Balancas - >它運行! – 2015-02-24 13:20:55

+0

你現在使用哪種映射策略?按代碼進行映射? – 2015-02-24 13:58:45

回答

2

我發現了一個解決方案,在地圖只需要添加一個屬性表(「表名」)。

public class MapMyClass() : ClassMap<MyClass> 
{ 
    public MapMyClass{ 
     Table("MYTABLE"); 
     Id(c => c.ID); 
     Map(c => c.NAME); 
    } 
} 
+0

這就是我要回答的......這就是爲什麼我問你當前使用的映射策略 – 2015-02-24 20:59:39