내 응용 프로그램 코드에서 조인입니다이사용이 NHibernate에
테이블처럼 다음
tblPerson
---------
PersonId (PK)
Name
tblAddress
----------
AddressId(PK)
Address
PersonAddress
-------------
PersonId (PK)
AddressId
Entity 클래스
PersonAddresstbl.cs
public class PersonAddressl
{
private int personid;
private int addressid;
private string name;
public virtual int PersonId
{
get { return personid; }
set { personid = value; }
}
public virtual int AddressId
{
get { return addressid; }
set { addressid = value; }
}
public virtual string Name
{
get { return name; }
set { name = value; }
}
}
XML 파일
PersonAddresstbl.hbn.xml
<class name="PersonAddressl">
<id name="id" column="PersonId">
<generator class="native"/>
</id>
<join table="tblPersonAddress"
optional="true">
<key column="PersonId"
unique="true"/>
<many-to-one name="Address"
column="AddressId"/>
</join>
</class>
<class name="tblAddress">
<id name="id" column="AddressId">
<generator class="native"/>
</id>
</class>
구현
PersonAddresstbl tbl = new PersonAddresstbl();
Criteria crit = session.CreateCriteria(typeof(PersonAddresstbl));
IList lst = crit.List();
0을 반환 기록이다.
누구나 내가 올바른 경로에 있거나 내가 잘못 가고 있다고 말할 수 있습니까?
감사합니다, 파반
1) 귀하의 매핑 'ID'하지만 클래스가있다 'personid'속성 여기 조인 속성에 대한 좀 더 많은 정보를보기 바란다. 2) 테이블에 'tbl'접두어가 붙은 이유는 무엇입니까? 이것은 1990 년이 아닙니다 ... 3) 귀하의 'personaddress'는 기본 키가 두 열이 아닌 이유는 무엇입니까? 그것은 many-to-many입니다. – Phill
@Phil - re (2), 스타일을 비판 할 필요는 없습니다. – csano
@ j0k - 물론입니다 :) 사람들이 스타일을 개선하는 데 도움을줍니다. 한 번에 1 개의 비평. – Phill