Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core Join返回重复的值_Asp.net Core_Ef Core 3.1 - Fatal编程技术网

Asp.net core Join返回重复的值

Asp.net core Join返回重复的值,asp.net-core,ef-core-3.1,Asp.net Core,Ef Core 3.1,我正在将现有的.NET代码移植到.NET核心 有一个特定的联接代码在EFCore中不起作用。代码是: var values = (from config in tblConfig join info in tblInfo on config.No equals info.No where ( //so

我正在将现有的.NET代码移植到.NET核心

有一个特定的联接代码在EFCore中不起作用。代码是:

var values = (from config in tblConfig
                               join info in tblInfo on config.No equals info.No
                               where (
                                     //some conditions
                                     )
                               select config).ToList();
在EFCore中,它返回一个集合,其中大部分数据都是重复的。特别是,有一列
regNo
,在某些情况下为“-1”。此值在联接后的所有行中重复

我尝试了分组,删除了其他帖子中提到的条件等。但是没有起作用。我指的是这个专栏,因为它很容易理解

配置表

信息表


基于
No
字段,我需要加入。似乎所有的空单元格都被同一个表中的非空内容替换了。

您的查询将返回
config
的所有实例,因此每次通过
tblInfo
连接发生时,您都会看到它

快速修复-您可以使您的查询与众不同,如下所示:

var values = (from config in tblConfig
    join info in tblInfo on config.No equals info.No
    where (
        //some conditions
    )
    select config).Distinct();

在我的例子中,我得到了重复的值(第一行对所有其他行重复)

当我们从没有唯一键的表中检索值时,就会发生这种情况。返回的行数正确,但与第一行重复。要解决问题,请使用。我从他那里得到了线索


使用此选项时,可能会丢失导航属性。请参阅解决此问题的答案。

您能否向tblConfig和tblInfo显示它们的一些数据,以便我们更好地理解它们。另外,如果不扩展结果列表,很难看到复制的内容。对不起!这只是我筛选的一个字段,在这里可以清楚地看到重复。扩展整个数据可能会损害私有数据。感谢@scgough的建议。仍然没有变化。值为-1的regNo字段将被非零值填充。