[ad_1]
我在数据库中有两个表,我想要组合并使用这些数据。
所以我使用了代码片段:
C#
var listOfFoundRespIds = (from a in context.Adresses join e in context.ExtraData on a.LFD equals e.lfd where a.PROJID == 2048 select new { RESPID = e.str03, LFD = e.lfd, PROJID = a.PROJID }) .ToList();
数据库表本身有 31.966.037 个条目。
在调试时(代码执行后立即),我启动了 iEnumeration Viewer 并查看 context.Adresses 并完成了 csv 导出。 该列表中有 995.101 条条目。 因此,在执行时,我没有主表中的所有条目可以使用它。
也许有人有任何想法,如何解决?
我尝试过的:
检查了 IEnumeration Viewer 和 csv checkout
仔细检查数据库表
阅读有关实体框架和其他 SQL 内容的文档。
解决方案1
你正在执行一个 INNER JOIN
– 你只会得到结果 Addresses
表中有对应的记录 ExtraData
桌子。
如果您想要来自 Addresses
表中,即使它们在表中没有对应的记录 ExtraTable
,那么你需要执行 LEFT JOIN
。
执行左外连接(C# 中的 LINQ)- C# | 微软学习[^]
C#
from a in context.Adresses join ed in context.ExtraData on a.LFD equals e.lfd into edg from e in ed.DefaultIfEmpty() where a.PROJID == 2048 select new { RESPID = e.str03, LFD = e.lfd, PROJID = a.PROJID }
[ad_2]
コメント