1

EF を使用すると、LINQ を使用してかなり単純なデータを読み取ることができますが (特に流暢な呼び出しを使用する場合)、自分で eSQL を作成しない限り、制御が難しくなります。

  1. eSQL の作成は、実際にはデータ ストアに依存しないコードですか?
    では、データ ストアを変更することにした場合、同じステートメントを引き続き使用できますか?
  2. コードに eSQL 文字列を記述すると、C# コードで TSQL ステートメントをプレーンな文字列として記述するのと同様に、重大なセキュリティ上の脅威が生じますか? そのため、SP が推奨されます。eSQL スクリプトをコードの外に移動し、他の手法を使用してもう少し安全にすることはできますか?
4

1 に答える 1

1
  1. ESQL は一般にデータベースに依存しないため、LINQ to Entities のように使用できます。ただし、より深刻な制限があることに注意してください。DML、DDL、および DB 固有の機能はありません。
    主な ESQL の欠点は、数行を含む単純なクエリでさえ、特定の DBMS の巨大な SQL クエリに変換できることです。そのため、生成された SQL が適切かどうかを確認し、最適かどうかを分析する必要があります。
  2. ESQL はデータベース上で直接実行されるのではなく、SQL に変換されます。EF セキュリティの議論は通常、接続文字列の保護から開始され、次にモデルのセキュリティが議論され、そのクエリ保護が分析された後にのみ説明されます。固有のクエリを保護する必要があるかどうかを決定するのは、開発者次第です。
于 2010-04-14T08:48:45.967 に答える