0
我想找出一種方法來引用另一個實體使用非主鍵的引用和引用實體。我有以下:流利的NHibernate:在父鍵和子鍵的多個鍵列上引用另一個實體
public class UserContact
{
public virtual ulong ContactId { get; set;}
public virtual ulong UserId { get; set; }
public virtual ulong ContactUserId { get; set; }
}
public class EmergencyContact
{
public virtual ulong EmergencyContactId { get; set; }
public virtual ulong UserId { get; set; }
public virtual ulong EmergencyContactUserId { get; set; }
public virtual UserContact EmergencyUserContact { get; set; }
}
到UserContact映射實際使用的圖,其中端部向上對實際的表的主鍵(使用ContactID)複製記錄。 (這是由設計。)
我有以下映射:
public class UserContactMap : ClassMap<UserContact>
{
public UserContactMap()
{
Table("USER_CONTACT_VW");
CompositeId().KeyProperty(x => x.ContactId, "CONTACT_ID")
.KeyProperty(x => x.UserId, "USER_ID");
Map(x => x.ContactUserId, "CONTACT_USER_ID")
}
}
public class EmergencyContactMap : ClassMap<EmergencyContact>
{
public EmergencyContactMap()
{
Table("EMERGENCY_CONTACT");
Id(x => x.EmergencyContactId, "EMERGENCY_CONTACT_ID");
Map(x => x.UserId, "USER_ID");
Map(x => x.EmergencyUserId, "EMERGENCY_USER_ID");
References(x => x.EmergencyUserContact)//.What else goes here?
}
}
我需要在EmergencyContact內引用UserContact使得從EmergencyContact實體的用戶ID和EmergencyUserId將映射到用戶標識和ContactUserId UserContact實體的列。做這個的最好方式是什麼?