简单.数据嵌套联接检索



我正在使用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 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 中发出了正确的连接,并且正在读取语言表,我只是无法让它填充 Market 的语言属性。

任何帮助非常感谢。

Simple.Data 不支持将孙表水化到 POCO 中。因此,语言表不起作用,而其他表则不起作用。我相信此功能计划在 v2 时间表中提供支持,但具体何时实现它还悬而未决。

相关内容

  • 没有找到相关文章