当前位置: 首页 > 编程语言 > C#

LINQ查询返回第一个结果的多个副本分享

时间:2023-04-11 03:15:55 C#

LINQ查询返回第一个结果的多个副本ArchiveID),我想用这个简单的查询来查询这个视图:varx=fromfieldsinentities2.archiveContentPreviewswherefields.ArchiveID==archiveIDselectfields;返回x.ToList();它返回确切数量的结果但返回第一个结果的多个副本的问题,当我在SQL管理工作室中执行该查询时,它返回正确的结果,有帮助吗?!这通常发生在指定为主键的列(或列)在视图中没有唯一值时。在您的情况下,ArchiveID可能会在大量视图行中重复(也由where子句指示)。您必须找到(或添加到视图中)唯一标识视图行的列组合,并将其标记为EF模型中的主键。请注意,生成的SQL查询返回的数据可能包含具有不同值(但具有相同ArchiveID)的行,但EF只是为每个ArchiveID实现了实体对象,并且可以找到该ID的第一个结果。请注意,一种解决方法(如果您不能指定其他键-例如,对于您不管理但只是只读访问的数据表等)是选择查询中的各个列。以上就是C#学习教程:LINQ查询返回多份第一个结果共享所有内容。如果对大家有用,需要详细了解C#学习教程,希望大家多多关注——varx=fromfieldsinentities2.archiveContentPreviewswherefields.ArchiveID==archiveIDselectnew{fields.col1,fields.col2};返回x.ToList();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: