gpt4 book ai didi

entity-framework - EF 4.1 代码第一个 : one-to-many mapping problem

转载 作者:行者123 更新时间:2023-12-04 23:08:37 25 4
gpt4 key购买 nike

在我的域中,我有这些类(以简化形式)

    public class Document
{
public string Id { get; set; }
public IList<MetadataValue> MetadataList { get; set; }
}

public class MetadataValue
{
public string DocumentId { get; set; }
public string Metadata { get; set; }
public string Value { get; set; }
}

一个文档可能有很多元数据。在文档实体的映射中,我有:
    HasMany<MetadataValue>(x => x.MetadataList)
.WithRequired()
.HasForeignKey(x => x.DocumentId);

当我持久化 Document 对象时,它的元数据列表也被持久化。但是当我检索 Document 对象时,它的元数据列表始终为空。这个映射有什么问题?

最佳答案

而不是制作导航属性 virtual启用延迟加载 - 正如 Paige Cook 所提议的 - 您还可以预先加载集合:

var query = dbContext.Documents
.Where(d => d.Id == "MyDoc")
.Include(d => d.MetadataList);

如果不使用延迟加载,则始终必须在查询中明确定义要与实体一起加载的导航属性 - 引用和集合。

关于entity-framework - EF 4.1 代码第一个 : one-to-many mapping problem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5651501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com