2011-08-31 74 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

謝謝@克雷格。剛纔發現我工作的桌子沒有主鍵。 –