实体框架查询结果重复

Pet*_*ete 6 sql-server asp.net-mvc entity-framework duplicate-data multiple-resultsets

  • 我创建了一个连接几个表的SQL视图,并且在SQL Manager中进行测试时,它提供了正确的数据(如果它们有所不同,则这些是复杂的连接).
  • 在MVC中,我创建了一个(数据优先)实体数据模型,然后添加了代码生成.
  • 我在控制器中有一个LINQ查询,生成一个idex页面.

所有基本的MVC内容.

当我运行应用程序时,我收到重复的记录.要进一步限定,如果订单有多行,则返回"订单"中每行的第一条记录.

SQL Results
Order, Line, Part
12345, 1, 3829138120
12345, 2, 1238401890

MVC/EF Results
Order, Line
12345, 1, 3829138120
12345, 1, 3829138120
Run Code Online (Sandbox Code Playgroud)

有关这个问题的原因的任何想法?

dan*_*era 6

您应该仔细检查实体键属性.我看到你的查询结果,你应该标记为主键Order和Line,我认为你忘记了标记顺序作为关键.

  • 感谢您的见解,danihp.**解决方案**:为了解决这个问题,我打开了实体数据模型(edmx文件)并在实体集*(SalesOrders)*中选择了Field _(OrderLine)_属性.打开字段的"属性",并将"实体键"值设置为true.(我还发现许多字段被设置为实体密钥,可能不应该.) (4认同)