gpt4 book ai didi

c# - LINQ to SQL Left Join 左边部分为空

转载 作者:行者123 更新时间:2023-11-30 16:08:37 25 4
gpt4 key购买 nike

我有一个方法:

public Result[] LeftJoin(IQueryable<AEntities> aEntities)
{
var bEntities = ReaderContext.GetContracts<BEntities>();

var queryable = from a in aEntities
join bEntity in bEntities on a.BId equals bEntity.Id into bTemp
from b in bTemp.DefaultIfEmpty()
select new Result { A = a, B = b };

return ReaderContext.Select(queryable);
}

当我调用 LeftJoin(ReaderContext.GetContracts<AEntities>()) ,执行此 SQL 查询:

SELECT * FROM A
LEFT OUTER JOIN B ON A.BId = B.Id

当我调用 LeftJoin(new AEntities[0].AsQueryable()) ,执行此 SQL 查询:

SELECT * FROM B

两者都返回正确的结果。

为什么执行第二个查询?

最佳答案

第一个是从数据库中获取 aEntitiesbEntities。第二个已经在您传入的数组中包含 aEntities,只需从数据库中获取 bEntities,然后在代码中加入。

关于c# - LINQ to SQL Left Join 左边部分为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28963704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com