5
  • 我創建了一個SQL視圖,它連接了幾個表,並在SQL中進行了測試時,它提供了正確的數據(如果這些都是複雜的聯接有所不同)。
  • 在MVC中,我創建了一個(數據優先)實體數據模型,然後添加了代碼 一代。
  • 我在一個生成idex頁面的控制器中有一個LINQ查詢。

所有基本的MVC東西。實體框架查詢結果重複

當我運行應用程序時,我收到重複的記錄。爲了進一步限定條件,如果訂單具有多個行,它將返回「訂單」中每行的第一條記錄。

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

MVC/EF Results 
Order, Line 
12345, 1, 3829138120 
12345, 1, 3829138120 

對這個問題的原因有什麼想法?

+0

也許發佈一些縮小的代碼段?特別是LINQ查詢。 – Kit

回答

5

您應該仔細檢查實體關鍵屬性。我看到您的查詢結果,並且您應該標記爲主鍵Order和Line,並且我認爲您忘記了標記順序作爲關鍵字。

+3

感謝您的見解,danihp。 **解決方案**:要解決此問題,我打開實體數據模型(edmx文件)並選擇實體集*(SalesOrders)*中的字段_(OrderLine)_屬性。打開該字段的屬性並將實體關鍵字值設置爲true。 (我還發現許多設置爲實體鍵的字段可能不應該是這樣。) – Pete

+0

嗨皮特,一個快樂的結局......或者開始。祝你好運,並感謝解釋詳細的解決方案。 – danihp