【问题标题】:Simple.Data nested join retrievalSimple.Data 嵌套连接检索
【发布时间】:2014-02-27 17:12:06
【问题描述】:

我正在使用 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 有 Model、Variant 和 Market,Market 有 Language)

然后,我尝试使用以下方法检索 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 为空。我可以看到在 SQL 中发出了正确的连接,并且正在读取 Language 表,但我无法让它填充 Market 的 Language 属性。

非常感谢任何帮助。

【问题讨论】:

    标签: simple.data


    【解决方案1】:

    Simple.Data 不支持将孙表合并为 POCO。因此,语言表不起作用,而其他表则不起作用。我相信此功能计划在 v2 时间线中提供支持,但具体何时实施尚未确定。

    【讨论】:

    • 非常感谢 Hmobius。真可惜,尤其是在它发出正确的 SQL 时,但它不会让我陷入困境,我现在可以解决问题。 Simple.Data 有很多其他优点,我会继续使用它并等待 v2。
    猜你喜欢
    • 1970-01-01
    • 2012-03-18
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 2013-11-28
    • 2019-07-01
    相关资源
    最近更新 更多