2014-02-27 106 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爲空。我可以看到正在SQL中發出的正確連接,並且正在讀取語言表,我只是無法讓它填充市場的Language屬性。

任何幫助非常感謝。

回答

0

Simple.Data不支持將孫表合併到POCO中。因此,語言表在其他人做的時候不起作用。我相信這個功能是計劃在第二版時間線上提供支持的,但是究竟是什麼時候纔會實施。

+0

非常感謝Hmobius。 這真是一種恥辱,尤其是它發佈了正確的SQL,但它並沒有讓我死在水中,我現在可以解決這個問題。 Simple.Data有很多其他的積極因素,我會繼續使用它並等待v2。 – Martin1968