1
我有一種情況,我已經在我的域模型中定義了一個實體,我想在其中公開一個id列。流利的NHibernate映射單列到複合鍵
public class OfferedProduct
{
public virtual string Id {get; set;}
//other properties
}
遺留數據庫表,這將映射到是
CREATE TABLE ProductGrouping
MemberNumber INT NOT NULL,
GroupId CHAR NOT NULL,
...
我不想通過引入兩個屬性,並使用「CompositeId」構建映射他們妥協的域模型。
CompositeId().KeyProperty(x => x.MemberNumber).KeyProperty(x => x.GroupId)
我想最好是連接兩個值的形式{MemberNumber} {}的GroupId和揭露這個作爲id值。然後,我會使用自定義類型來處理從數據庫中檢索時這些值的連接方式,並在保存/選擇時分解。
我注意到「CompositeId」方法不允許customType與標準的「Id」調用一樣;但「Id」方法不提供設置多個列的功能。我看過一些例子,其中人們使用「地圖」來使用自定義類型組合兩列,但不使用ID值。
我注意到「CompositeId」有一個重載,可以採取自定義的身份類,但我不確定如何在這種情況下使用它。
CompositeId<OfferedProductIdentifier>(x => x.?)
任何幫助將不勝感激。