nhibernate : 두 클래스에서 필드를 어떻게 결합 할 수 있습니까?
-
05-07-2019 - |
문제
다음은 내 데이터베이스 모델의 단순화 된 버전입니다. "이미지"와 "HostingProvider"라는 두 개의 테이블이 있습니다.
영상
- ID
- 파일 이름
- HostingProvider_id
호스팅 전문가
- ID
- base_url
Image HostingProviderID는 호스팅 프로비더 테이블과의 다국적 외국 키 관계입니다. (각 이미지에는 하나의 호스팅 제공자가 있습니다).
본질적으로 나는 내 이미지 클래스를 다음과 같이 보이게하고 싶습니다.
영상
- ID
- base_url
- 파일 이름
nhibernate에서 호스팅 프로보더 테이블에서 base_url을 이미지 클래스로 결합하는 매핑 파일을 어떻게 만들 수 있습니까?
해결책
당신이 찾고있는 것은 이것입니다 :
http://ayende.com/blog/archive/2007/04/24/multi-table-entities-in-nhibernate.aspx
다음은 다음과 같은 모습을 엿볼 수 있습니다.
<class name="Person">
<id name="Id" column="person_id" unsaved-value="0">
<generator class="native"/>
</id>
<property name="Name"/>
<property name="Sex"/>
<join table="address">
<key column="address_id"/>
<property name="Address"/>
<property name="Zip"/>
<property name="Country"/>
<property name="HomePhone"/>
<property name="BusinessPhone"/>
</join>
</class>
다른 팁
public class Image {
public virtual HostingProvider HostingProvider { get; set; } // NHibernate takes care of this
public virtual string BaseUrl { get { return HostingProvider.BaseUrl; } }
}
제휴하지 않습니다 StackOverflow