2011-08-31 14 views
8

これは私のEntity Frameworkを使用した初めてのものです。私はしかし、フレームワークに対して、このクエリを実行すると、私は3行を取得エンティティのフレームワーククエリが同じ行を複数回返します

SELECT * FROM mytable WHERE service_month = 201012 

が、彼らは最初の行のすべてのコピー(VBの構文です:私は、私は、このSQLクエリを実行すると、特定のテーブルには、3つの異なる行が含まれています知っています)。

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

私は何かを間違って設定しましたか?これは私がLINQ to SQLを使ってやっているので、何か不足しているような気がします。

+0

次に、 'temp'を使って値をチェックしていますか? –

答えて

18

EDMXで主キー定義を修正しました。テーブルにPKがない場合は、テーブルを追加します。すべての行が同じ「キー」を返すと、EFは同じオブジェクトインスタンスを返します。

+1

ビンゴ。他の人が設定したレポートテーブルを使用していて、プライマリキーがありませんでした。ありがとう。 – gfrizzle

+6

開発者がこれを機能と呼んでも、私はそれをバグと呼んでいます。ソリューションに感謝します。 – Chris

+0

ありがとう@Craig。ちょうど私が働いているテーブルが主キーを持っていないことが分かった。 –

関連する問題