2014-02-27 3 views
0

Simple.Data를 사용하고 있지만 하나의 쿼리에서 내 관련 개체를 완전히 채울 수 없습니다. StackOverflow에 대한 다른 질문을 살펴 보았지만 지금까지 성공한 것은 없습니다.Simple.Data 중첩 된 조인 검색

내가 개체가 :

public class ProductVersion 
{ 
    public int VersionId { get; set; } 
    public int ModelId { get; set; } 
    public int VariantId { get; set; } 
    public int MarketId { get; set; } 
    public DateTime? FileDate { get; set; } 
    public DateTime? DateFrom { get; set; } 
    public DateTime? DateTo { get; set; } 
    public int RevisionId { get; set; } 
    public Model Model { get; set; } 
    public Variant Variant { get; set; } 
    public Market Market { get; set; } 
} 

public class Model 
{ 
    public int ModelId { get; set; } 
    public string Description { get; set; } 
} 

public class Variant 
{ 
    public int VariantId { get; set; } 
    public string Description { get; set; } 
} 

public class Market 
{ 
    public int MarketId { get; set; } 
    public string Description { get; set; } 
    public int LanguageId { get; set; } 
    public Language Language { get; set; } 
} 

public class Language 
{ 
    public int LanguageId { get; set; } 
    public string Description { get; set; } 
} 

(PRODUCTVERSION은 모델, 변형 및 시장을 가지고 있으며, 시장은 언어가) 내가 PRODUCTVERSION 사용의 단일 인스턴스를 검색하려고 해요, 그리고

를 :

ProductVersion instance = db 
    .ProductVersion 
    .With(db.ProductVersion.Model) 
    .With(db.ProductVersion.Variant) 
    .With(db.ProductVersion.Market) 
    .With(db.ProductVersion.Market.Language) 
    .Get(1); 
    ; 

나는 ProductCatalogVersion의 인스턴스 모델, 변형으로, 반환 받고, 시장 특성이 채워하지만 Market.Language은 null입니다. 올바른 조인이 SQL에서 발행되고 언어 테이블이 읽혀지고있는 것을 볼 수 있습니다. Market의 Language 속성을 채울 수 없습니다.

도움을 주시면 감사하겠습니다.

답변

0

Simple.Data는 손자 테이블을 POCO로 수화하는 것을 지원하지 않습니다. 따라서 다른 언어에서는 언어 테이블이 작동하지 않습니다. 이 기능은 v2 타임 라인에서 지원 될 예정이지만 정확히 구현 될 때 공중에서 작동한다고 믿습니다.

+0

많은 감사 Hmobius. 그것은 수치 스럽습니다. 특히 올바른 SQL을 발행 할 때 그렇습니다.하지만 물속에서 죽게 내버려 두지는 않습니다. 지금은 해결할 수 있습니다. Simple.Data에는 다른 많은 긍정적 인 요소가 있으므로 앞으로도 계속 사용하고 v2를 기다릴 것입니다. – Martin1968