ef升级到6.1后,left outer join 变成 inner join 怎么办?
之前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就出问题了,该怎么设置呢?
谢谢
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就出问题了,该怎么设置呢?
谢谢
...全文
相关推荐
.Net查询实例……………………
在两表查询的场景中,通常会用到JOIN操作,包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。1. INNER JOIN:返回两个表中匹配的记录。
mysql多表联合查询
MySQL多表联合查询是一种强大的数据库操作技术,它允许你在一张或多张表之间查找、合并数据。在处理大量数据和复杂关系时,正确理解并运用不同类型的连接至关重要。本文主要关注的是MySQL中常见的多表连接
Entity Framework学习笔记
**Join操作**:E-SQL提供了强大的联接支持,包括LEFT INNER JOIN、RIGHT JOIN、FULL OUTER JOIN等。
C#多表查询
INNER JOIN:返回两个表中匹配的记录。2. LEFT JOIN (或 LEFT OUTER JOIN):返回左表的所有记录,即使在右表中没有匹配的记录。如果右表无匹配记录,则结果为NULL。
右连接、左连接、全连接、内连接、交叉连接、自连接
1. 右连接(Right Join 或 Right O


