귀하의 질문이 무엇인지 모르겠지만 ClientId에 매핑 할 각 클래스가 필요한 경우 여기에 한 가지 예가 나와 있습니다.
기본적으로 각 클래스에는 ClientAd 속성이있는 사용자 계정 정보를 저장하려고하는 클래스 나 UserAccount 속성이 있습니다. 그런 다음 Fluent NHibernate 매핑에서 References() 메서드를 사용하여 클래스를 함께 매핑 할 수 있습니다. 아래의 예를 참조 : 빌 테이블에 따라서
public class UserAccount
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual IList<Bill> Bills { get; set; }
}
public class Bill
{
public virtual int BillId { get; set; }
public virtual UserAccount User { get; set; }
}
public class UserAccount : ClassMap<UserAccount>
{
public UserAccount()
{
Id(x => x.Id).Column("ClientId");
Map(x => x.Name);
HasMany(x => x.Bills);
}
}
public class BillMap : ClassMap<Bill>
{
public BillMap()
{
Id(x => x.Id).Column("BillId");
References(x => x.User).Column("ClientId");
}
}
을, 당신은 데이터베이스 측면에서 정말 또한 클라이언트 ID를 지명 될 것 UserAccount 테이블의 기본 키 열을 참조하는 외래 키 인 된 ClientID 열을 가질 것이다.
ClientId 열이 모두있는 테이블을 실제로 만들려면 엔티티가 상속하는 기본 클래스에이 테이블을 추상화하는 옵션이 있어야합니다.이 기본 클래스는 이미 UserAccount 그것의 재산. Fluent NHibernate 매핑 파일에 대해서도 동일한 기본 클래스 방식을 사용할 수 있습니다.