ef升级到6.1后,left outer join 变成 inner join 怎么办?

jeanso jeanso 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
之前4.1 ,杠杠的,升级成6.1 left outer 失效,变成inner join
public class CorpMember
{
public int? CMCID { get; set; }

public virtual CorpMemberCategory category{ get; set; }
}


Dbcontext:

modelBuilder.Entity<CorpMemberCategory>().HasMany(a => a.corpmembers).WithRequired(p => p.category);
modelBuilder.Entity<CorpMember>().HasRequired(a => a.category).WithMany().HasForeignKey(a => a.CMCID);

使用可为空的外键即可实现left 效果,升级成6.1 直接变成inner join

有没哪位大侠遇到过,怎么解决的啊?

4.1没问题,

from e in mySet.Where(specification.SatisfiedBy())
join cate in base.DataContext.CorpMemberCategory on e.CMCID equals cate.CMCID into catelist
from cc in catelist.DefaultIfEmpty()
或 直接用导航属性
from e in mySet.Where(specification.SatisfiedBy())
select new { e.Address, e.category.CateName
都没问题


6.1就出问题了,该怎么设置呢?

谢谢
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
jeanso
.NET社区 62,272 成员 668,968 内容