2012-06-12 41 views
0

我是在nhibernate的開始,我試圖用fluent-nhibernate連接到預先存在的數據庫表。該表沒有id字段,我堅持如何讓查詢工作。我收到一個錯誤 - 「字段ID不存在」。使用流利的nhibernate訪問現有的數據庫表

該表位於DB2數據庫中,因此一些用於自動生成代碼的工具不適用。

更新

的文件和類看起來有點像以下(其中凡是主鍵)

public class Nougal 
{ 
    public virtual string WHO { get; set; } 
    public virtual string YN1 { get; set; } 
    public virtual string YN2 { get; set; } 
    public virtual string YN3 { get; set; } 
    public virtual string YN4 { get; set; } 
+0

你有你的表上的所有主鍵? – Praveen

+0

查看上面的更新。 – Mmarquee

回答

1

你必須有某種標識,以便有NH正確將您的表映射爲一個實體,以正確地將其放入會話的身份映射中。通常這是由表中的主鍵表示的。即使表中沒有定義,也可以嘗試識別每條記錄的區別,並將其映射爲表標識符。這可能是一個複合身份證。

1

我有它的工作,我不得不創建一個地圖,並指出正在用作主鍵的列的Id字段。

public class FILENAMEMap : ClassMap<FILENAME> 
{ 
    public FILENAMEMap() 
    {  
     Table("FILENAME"); 
     Id(x => x.Id).Column("WHO"); 
     Map(x => x.YN1).Column("YN1"); 
     Map(x => x.YN2).Column("YN2"); 

我認爲這已經做到了,十分感謝指針等

相關問題