Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.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/0/vba/14.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
C# SQL查询返回双重数据_C#_Sql_Duplicates - Fatal编程技术网

C# SQL查询返回双重数据

C# SQL查询返回双重数据,c#,sql,duplicates,C#,Sql,Duplicates,为什么结果列表多次包含相同的数据?我如何防止?我无法使用select distinct id,因为我需要所有列 不要这样做,真正的问题似乎是在映射中,应用这一点,你很可能隐藏了一些非常糟糕的东西,比如不需要的右连接或交叉连接。简单的include不应该带来重复的记录,所以它一定是映射出了问题。甚至可能试图以错误的方式接触双方。 出于好奇,这是映射以下内容的数据库吗 var result = Context.ItemSet .OrderBy(o => o.Index) .Include(t

为什么结果列表多次包含相同的数据?我如何防止?我无法使用select distinct id,因为我需要所有列

不要这样做,真正的问题似乎是在映射中,应用这一点,你很可能隐藏了一些非常糟糕的东西,比如不需要的右连接或交叉连接。简单的include不应该带来重复的记录,所以它一定是映射出了问题。甚至可能试图以错误的方式接触双方。 出于好奇,这是映射以下内容的数据库吗

var result = Context.ItemSet
.OrderBy(o => o.Index)
.Include(t => t.Group) 
.Select(t => t.id)
.Distinct()
.ToList();

抱歉,我知道这还不是答案,但它太多了,无法作为注释输入,而且无法真正格式化注释
两组人储存了id为500的物品。更改此选项修复了重复的问题。由于循环引用问题,我在代码的另一点上仍然得到一个无效的OP异常。

Id字段实际上是唯一的吗?如果直接对数据库运行查询而不涉及C,会发生什么,它是唯一的,因为当在数据库中运行查询时,如果在数据库中选择*from itemset,其中id=500,它只返回一行id为500的记录。当查询返回多个对象文档时,只有一个@ruilimacaling Single抛出InvalidOperationException,这是一个强有力的指标,表明您的数据源包含Id=500的多个条目。如果在数据库中运行查询返回一条id=500的记录,如您之前所说,那么我只能建议您尝试验证调用ToList时生成的SQL,并手动检查其是否正确。我有Item 1-to-0…1 Group relation和yes,但不包括它也会带来重复项。有了include,它只会带来更多的副本,我们需要看到实际的模型。您确定返回的数据不是数据库中的数据吗?ItemSet似乎是一组项,在这种情况下,我希望看到为几个IdItem显示一个IdItemSet,类似于:IdItemSet、iditem1、10120-set1和item10。
>      -0
>       1
>      -1
>      11
>      -2
>      12
>      -3
      ...
>     -30
>      17
>     -31
>     206
>     -32
>     500 //
>     -33
>     500 //duplicate
>     -34
>     203
var result = Context.ItemSet
.OrderBy(o => o.Index)
.Include(t => t.Group) 
.Select(t => t.id)
.Distinct()
.ToList();
 ItemSet <(n)--(m)> Group