实体框架查询多次返回同一行

gfr*_*zle 10 vb.net entity-framework

这是我第一次使用实体框架,我得到了一些令人困惑的结果.我知道当我运行此SQL查询时,特定的表包含3个不同的行:

SELECT * FROM mytable WHERE service_month = 201012
Run Code Online (Sandbox Code Playgroud)

然而,当我对框架运行此查询时,我得到3行,但它们都是第一行的副本(VB语法).

Dim temp = _context.mytable.Where(Function(x) x.service_month = 201012)
Run Code Online (Sandbox Code Playgroud)

我是否错误地设置了某些内容?这就是我用LINQ to SQL做的事情所以我觉得我错过了什么.

Cra*_*ntz 23

修复EDMX中的主键定义.(如果您的表没有PK,请添加一个.)当所有行返回相同的"键"时,EF返回相同的对象实例.

  • 即使开发人员称这是一个功能,我也称它为bug.非常感谢您的解决方案. (8认同)
  • 哇。从没有键的视图中选择。我必须在 edmx 中将 Date 字段(仅在视图中唯一的字段)设置为 EntityKey ,一切都很好。 (3认同)