2011-07-01 78 views
0

我有一個:NHibernate的外鍵設置

class Garage { 
    int garageID; 
    ISet<Car> cars 
} 

應該在汽車類具有garageID作爲它的一個屬性,如:

class Car { 
    int carID; 
    int garageID; 
    String name; 
} 

這就是它如何出現在數據庫中,但想知道許多方面的類是否應該將外鍵作爲一個屬性,或者如果ORM只是在執行SQL時(假設您可以在映射文件中指定它)添加它。

回答

1

簡而言之:號(是的ORM將根據你的映射文件保健FK)的

「汽車」表將在它的GarageId但你不應該把它添加到Car類。

可以有一個雙向關係(雖然意見不同,這些是否是一個好主意)。

一種雙向關係將使汽車類是這樣的:

public class Car { 
    public virtual int Id {get; set;} 
    public virtual Garage Garage {get; set;} //You can traverse back up to Garage 
    public virtual string Name {get; set;} 
} 

如果你想我張貼流利/ XML映射讓我知道。