Entity Framework 外键选择为空?
Entity Framework selection with foreign key is empty?
我的模型中有两个 table Tree
和 TreeImage
这些 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)
我的模型中有两个 table Tree
和 TreeImage
这些 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)