C# 实体框架如何在数据库中存储引用的数据?

C# 实体框架如何在数据库中存储引用的数据?,c#,entity-framework,C#,Entity Framework,假设有一个名为parent的对象,它引用另一个名为child的对象作为属性。在DbContext中创建一组parent对象后,我将其中一个保存到数据库中。当我从数据库中请求所述对象时,我也会收到他的子属性。我找不到子项的存储位置。这个映射是如何工作的 public class Route { public Guid Id { private set; get; } public Clue[] Clues { private set; get; } } CreateTable(

假设有一个名为
parent
的对象,它引用另一个名为
child
的对象作为属性。在
DbContext
中创建一组
parent
对象后,我将其中一个保存到数据库中。当我从数据库中请求所述对象时,我也会收到他的
子属性。我找不到
子项的存储位置。这个映射是如何工作的

public class Route
{
    public Guid Id { private set; get; }
    public Clue[] Clues { private set; get; }
}


CreateTable(
                "dbo.Routes",
                c => new
                    {
                        Id = c.Guid(nullable: false),
                    })
                .PrimaryKey(t => t.Id);

没有看到模型定义或数据库定义的可能性太多。但可能的答案是:在引用父项的子项上定义外键。我使用迁移,在数据库定义中没有外键或任何东西。我将发布模型定义和迁移命令。我无法从您的问题中判断您是否想要子关系。您已经将导航集合线索添加到Route中,因此EF应该隐式地这样做(尽管我从未见过使用数组修改它的示例)。“代码优先”可以用不同的方式定义关系:按惯例、使用注释或fluent api。我看不到注释或流畅的映射,所以您得到的是默认约定。谢谢你的链接,我会查出来的。但对我来说,线索数据保存在哪里仍然是个谜。你说的“存储在哪里”是什么意思?