0
我有幾個類,如下所示:NHibernate的3.2映射按照慣例產生不必要的外鍵列
public class Client
{
public int Id {get;set;}
public string Name {get;set;}
}
public class User
{
public int Id {get;set;}
public string Email {get;set;}
public Client Client {get;set;}
}
我使用ConventionModelMapper和SchemaUpdate工具從NHibernate的3.2生成的我的SQL Server架構數據庫,我希望User類的Client屬性映射到帶有外鍵的ClientId
列。我約定的代碼如下所示:
mapper.AfterMapManyToOne += (inspector, member, map) =>
{
map.Column(member.LocalMember.Name + "Id");
// ...
};
這工作,因爲我得到的是被映射爲外鍵的列ClientId
,但我也有一個Client
列也被映射爲外鍵結束。似乎NHibernate的被處理客戶端屬性既作爲標準屬性(以及因此產生用於它的Client
列),並且也是多對一屬性(導致額外ClientId
列)。我怎樣才能防止Client
列的產生