2011-08-31 77 views
8

这是我第一次使用实体框架,我收到了一些令人困惑的结果。我知道某个表中包含3个不同的行,当我运行该SQL查询:实体框架查询多次返回相同的行

SELECT * FROM mytable WHERE service_month = 201012 

然而,当我运行对框架此查询,我得到3行,但他们是在第一行的所有副本(VB语法)。

Dim temp = _context.mytable.Where(Function(x) x.service_month = 201012) 

我是否设置了错误的东西?这是我如何使用LINQ to SQL来完成的,所以我觉得我错过了一些东西。

+0

你是用'temp'来检查值的? –

回答

18

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

+1

宾果。我使用的是由其他人设置的报表,他们没有主键。谢谢。 – gfrizzle

+6

即使开发者称这是一个功能,我称它为一个bug。非常感谢解决方案。 – Chris

+0

谢谢@克雷格。刚才发现我工作的桌子没有主键。 –