Entity Framework 外键选择为空?

Entity Framework selection with foreign key is empty?

我的模型中有两个 table TreeTreeImage 这些 table 之间的关系分别是一对多的,我在两个 tables,这是数据库优先模型。

我遇到的问题是当我从 table Tree select 时,我可以看到 TreeImage 属性 但它是空的,我期望它有一些值,因为 tables 之间的关系确实存在,我认为我不应该 Join TreeImage table 或者有什么好处Relational Constrains 从头开始​​。

我应该怎么做才能从 TreeUmage

中看到一些值

实体:

树Class

public partial class Tree
{
    public Tree()
    {
        this.TreeLeaves = new HashSet<TreeLeave>();
        this.UserTrees = new HashSet<UserTree>();
        this.TreeImages = new HashSet<TreeImage>();
    }

    public int TreeID { get; set; }
    public string TreeTitle { get; set; }
    public string TreeDescription { get; set; }

    public virtual ICollection<TreeLeave> TreeLeaves { get; set; }
    public virtual ICollection<UserTree> UserTrees { get; set; }
    public virtual ICollection<TreeImage> TreeImages { get; set; }
}

我的Select查询

 using (var db = new ...())
        {
            return (from tree in db.Trees
                    select tree).ToList();
        }

此代码生成此输出

   [{"TreeID":1,"TreeTitle":"Red Mable","TreeDescription":"Hello 
 ","TreeLeaves":[],"UserTrees":[],"TreeImages":[]},... 

我正在从事一个需要我使用技术的项目,但我无法让自己走上正确的道路来解决这个问题。

尝试使用包含扩展方法。

using (var db = new ...())
{
    return (from tree in db.Trees.Include("TreeImages")
            select tree).ToList();
}

如果您想使用 lambda 表达式,您必须添加:

using System.Data.Entity;

然后你可以像这样使用它:

db.Trees.Include(t => t.TreeImages)