相关疑难解决方法(0)

实体框架使用排序顺序加载子集合

我有两个表父表和子表.子表具有列排序顺序(数值).由于缺少EF的支持来持久化IList包含排序顺序而不暴露排序顺序(请参阅:实体框架持久化子集合排序顺序)我的子类还有一个属性SortOrder,因此我可以存储具有排序的子项订购.

与引用问题的autor相反,我尝试加载始终排序的子项.因此,如果我加载一个我期望的父实例,那么子集合按排序顺序排序.如何使用Code First Fluent API和POCO实现此行为?

提示:在子集合上调用.Sort(...)不是一个选项.

entity-framework poco code-first ef-code-first

31
推荐指数
2
解决办法
3万
查看次数

过滤包含在EF Core中

我正在尝试过滤初始查询.我已经嵌套了包含模型的叶子.我正在尝试根据其中一个包含的属性进行过滤.例如:

using (var context = new BloggingContext())
{
    var blogs = context.Blogs
        .Include(blog => blog.Posts)
            .ThenInclude(post => post.Author)
        .ToList();
}
Run Code Online (Sandbox Code Playgroud)

我怎么能说呢.Where(w => w.post.Author == "me")

entity-framework-core

29
推荐指数
5
解决办法
2万
查看次数

EF Lambda:Include路径表达式必须引用导航属性

这是我的表达:

Course course = db.Courses
  .Include(
    i => i.Modules.Where(m => m.IsDeleted == false)
      .Select(s => s.Chapters.Where(c => c.IsDeleted == false))
  ).Include(i => i.Lab).Single(x => x.Id == id);
Run Code Online (Sandbox Code Playgroud)

我知道原因在于Where(m => m.IsDeleted == false)模块部分,但为什么会导致错误?更重要的是,我该如何解决?

如果我删除where子句它工作正常,但我想过滤掉已删除的模块.

c# lambda entity-framework asp.net-mvc-3 entity-framework-5

10
推荐指数
2
解决办法
1万
查看次数