Simple.Data嵌套连接检索

时间:2014-02-27 17:12:07

标签: simple.data

我正在使用Simple.Data但似乎无法通过单个查询完全填充我的相关对象。我已经检查了StackOverflow上的其他一些问题,但到目前为止还没有任何成功。

我有对象:

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的实例,其中填充了Model,Variant和Market属性,但Market.Language为null。我可以看到在SQL中发出正确的连接并且正在读取语言表我只是无法填充它来填充市场的语言属性。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

Simple.Data不支持将孙子表保湿到POCO中。因此,语言表不起作用,而其他人则不起作用。我相信这个功能计划在v2时间轴中提供支持,但是当它准确实施时,它将在空中播出。