【问题标题】:Null Values in Entity Framework实体框架中的空值
【发布时间】:2013-04-04 19:59:57
【问题描述】:
var query = from section in load_sections.Sections
            join course in load_sections.Courses
                on section.Course_Id equals course.Course_Id
            join faculty in load_sections.Faculties
                on section.Faculty_Id equals faculty.Faculty_Id
            select section;

我的 section.Faculty_Id 中有一些空值,它们不等于 Faculty.Faculty_Id 中的任何行,它只是返回 section.Faculty_Id 不为空的记录...如果 section.Faculty_Id 不为空,那么它必须返回 Table Courses 的其他剩余字段

【问题讨论】:

  • 如果只选择section,为什么要加入faculty?看起来删除联接可以解决您的问题。

标签: c# .net wpf linq entity-framework


【解决方案1】:

如果您出于某种原因无法删除faculty 上的联接,则必须构造一个外部联接:

var query = from section in load_sections.Sections
            join course in load_sections.Courses
                on section.Course_Id equals course.Course_Id
            join faculty in load_sections.Faculties
                on section.Faculty_Id equals faculty.Faculty_Id into faculties
            from f in faculties.DefaultIfEmpty()
            select section;

这将执行GroupJoinFaculties。后面的from f in faculties的效果是分组又被SelectMany拉平了。 .DefaultIfEmpty() 创建外连接。

【讨论】:

  • +1 我没有意识到这会产生任何影响。我仍然对这个问题感到困惑。
  • @p.s.w.g 谢谢。我也是。这可能不是全部。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-04
  • 1970-01-01
  • 1970-01-01
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多