結合された列の 1 つが null 可能であるビューがありますが、多くの場合、2 つの行を区別する唯一の項目です。EF は、ビュー内のすべての非 null 項目から主キーを構築したことがわかります。ビューからプルすると、この null 許容列が常に正しく返されるとは限らないことに気付きました。これは、キーにマップする方法に関係しており、キーが表示された場合は同じ行が返されることを読みました。もう存在している。
理想的には、列を null 非許容にすることが最善の解決策ですが、より大きな問題を引き起こさずにそれを行うことはできません。
もう 1 つのアイデアはROW_NUMBER()
、主キーを作成するために使用することでした。それが同様の問題を引き起こす可能性があるかどうかはわかりません(コンテキストが呼び出し間で更新されない場合、それは単にオフになるのでしょうか、それともクエリが異なることに気付くのに十分賢いのでしょうか?ORDER BY
)関数とそれが行の動的順序付けにどのように影響するか。
パフォーマンスへの影響を最小限に抑えながら、すべての行が SQL クエリで表示されるとおりに正確に返されるようにする最善の方法は何ですか?
ありがとうございました..
例:
view: A int, B int, C int?
SQL Results:
1, 2, null
1, 3, 10
1, 3, 11
EF は次のようなものを返します。
1, 2, null
1, 3, 10
1, 3, 10
私もその11を取得する必要があります。