创建实例时,EF 4.1会同步反向关联.是否有针对此行为的任何文档或最佳实践指南?
同义反向关联的意思是:
public class Blog
{
public Blog() { Posts = new List<Blog>(); }
public int Id { get; set; }
public ICollection<Post> Posts { get; private set; }
}
public class Post
{
public Blog Blog { get; set; }
public int Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后在以下行后,Post将拥有它的Blog属性集.
var blog = new Blog();
context.Blogs.Add(blog);
blog.Posts.Add(new Post());
Run Code Online (Sandbox Code Playgroud) 如何对父子关系进行急切查询:
如果我试试
from p in _context.Parents.Include("children")
join c in _context.childrenon p.Id equals c.ParentId
where d.DeletedDate == null
orderby p.Name ascending, c.Name
select p
Run Code Online (Sandbox Code Playgroud)
然后我得到了Parent对象,但是每个Parent对于孩子都有NULL
如果我试试
from p in _context.Parents.Include("children")
orderby p.Name ascending
select p
Run Code Online (Sandbox Code Playgroud)
查询将返回所有父项和子项,但不会对其进行过滤或排序.
我想要的结果是IEnumerable<Parent>
ie
Parent[0].name = "foo"
Parent[0].children = IEnumerable<Child>
Parent[1].name = "bar"
Parent[1].children = IEnumerable<Child>
Run Code Online (Sandbox Code Playgroud)