2016-07-29 2 views
0

, 당신은 주어진 예처럼 포항 강판에 외래 키 관계를 정의 할 수 있습니다 :이 괜찮1 : Many 관계에서 내 POCO 클래스의 기본 키를 참조하는 개체를로드하는 데 어떻게 열정적입니까? 여기에 문서를 고려

public class Customer 
{ 
    [References(typeof(CustomerAddress))] 
    public int PrimaryAddressId { get; set; } 

    [Reference] 
    public CustomerAddress PrimaryAddress { get; set; } 
} 

, 1 거기로 : 1 관계는 여기. 그러나, 나는 정의해야 할 1 : 많은 관계를 가지고 있으며 관계는 실제로 부모 객체가 아니라 자식 객체에 정의됩니다.

그래서, 나는이 포항 강판을 가정 해 봅시다 :

public class Customer 
{ 
    [PrimaryKey] 
    public int CustomerId { get; set; } 

    public List<CustomerAddress> CustomerAddresses { get; set; } 
} 

public class CustomerAddress 
{ 
    [PrimaryKey] 
    public int CustomerAddressId{ get; set; } 

    public int CustomerId { get; set; } 
} 

어떻게 ORMLite 열망 부하가 Customer POCO의 CustomerAddresses 속성을 가질 수있다?

답변

1

Db.LoadSelect<Customer>() 메서드를 호출해야하며 고객은 속성을 CustomerAddresses 속성 위에 추가해야 고객 주소를 검색 할 수 있습니다.

+0

LoadSelect가 컬렉션을 반환하는 것 같습니다. 표현식을 사용하여 단 하나의 객체를 반환하는 repo 메소드를 작성하고 다른 개발자가 수천 개의 객체를 반환하는 표현식을 제공하면 데이터베이스는 모든 일치 항목을 선택하려고합니다. 거기에 열심히로드 할 수있는 또 다른 방법이 있습니까,하지만 데이터베이스가 단 하나의 결과를 반환합니다? 본질적으로, 나는'db.Single'을 원하지만 열렬한 로딩을 원한다. – Ellesedil

+0

Db.LoadSingleById는 어떨까요 (request.CustomerId)? – labilbe

+0

필자는 ID로 질의한다고 가정 할 수는 없습니다. 그러나, 나는'db.Single'을 사용하고 표현식을 전달할 수있게 해주는'db.LoadReferences'를 발견했습니다. ORMLite에 의해 생성 된 결과 SQL 쿼리는 본질적으로 동일합니다. – Ellesedil