さまざまな場所にあるさまざまなコンピュータの環境を考えてみましょう。これらのコンピュータでは、Windowsアプリケーションが実行され、5分ごとに新しいデータが同期するようにタイマーが確認されます。情報は、インターネット接続を介して中央の場所に同期されます。クライアントコンピュータと集中サーバーの両方のデータベースは、SQL Serverデータベースです。SingleOrDefault()クエリはリモートで実行されますか?
リモート(集中化された)サーバーに書き込む前に、同じIDを持つレコードがリモートに存在するかどうかを確認するためにSingleOrDefault()メソッドが使用されます。クライアントは使用されたインターネットデータの急増を報告しています。集中データベースが大きくなりすぎて、SingleOrDefaultがクエリ可能なデータ全体を接続経由で返して、クエリ側のクライアント側を返すのかどうか疑問に思います。これが事実だろうか?同じことをしない別の解決策は何でしょうか?
主キーでクエリを実行しているため、要素が1つしかないことがわかります。 SingleOrDefaultの代わりにfirstOrDefaultを使用することを検討してください。最初のものはTop 1にクエリを行い、2番目のクエリはTop 2にクエリし、2番目にクエリがないことを確認します。この余分な小切手はあなたの場合には目的がありません。 –
合意すると、SQLルールによって重複はありません。 SingleOrDefaultはクライアント側に問い合わせをしませんが、私はそれにもかかわらず解決します –