相关疑难解决方法(0)

实体框架4.1中同步反向关联的指南

创建实例时,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)

ef-code-first entity-framework-4.1

8
推荐指数
1
解决办法
2517
查看次数

LINQ查询 - 如何对急切提取进行排序和过滤

如何对父子关系进行急切查询:

  1. 过滤子字段
  2. 对父母和孩子进行排序
  3. 返回列表或父母与预先填充的孩子

如果我试试

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)

linq linq-to-entities entity-framework-4

1
推荐指数
1
解决办法
8283
查看次数