DbSet.SqlQuery(String, Object[]) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このセットにエンティティを返す生の SQL クエリを作成します。 既定では、返されるエンティティはコンテキストによって追跡されます。これは、返された で AsNoTracking を DbRawSqlQuery 呼び出すことによって変更できます。 返されるエンティティは常にこのセットの型であり、派生型ではありません。 照会先の 1 つまたは複数のテーブルにその他のエンティティ型のデータが格納されている場合、正しい型のエンティティだけが返されるように、適切に SQL クエリを作成する必要があります。
SQL を受け入れる API と同様に、SQL インジェクション攻撃から保護するために、ユーザー入力をパラメーター化することが重要です。 SQL クエリ文字列にパラメーター プレース ホルダーを含め、追加の引数としてパラメーター値を指定できます。 指定したパラメーター値は、自動的に DbParameter に変換されます。 コンテキスト。Set(typeof(Blog))。SqlQuery("SELECT * FROM dbo.投稿 WHERE Author = @p0", userSuppliedAuthor);または、DbParameter を構築して SqlQuery に指定することもできます。 こうすることで、SQL クエリ文字列に名前付きパラメーターを使用できます。 コンテキスト。Set(typeof(Blog))。SqlQuery("SELECT * FROM dbo.投稿 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
public virtual System.Data.Entity.Infrastructure.DbSqlQuery SqlQuery (string sql, params object[] parameters);
abstract member SqlQuery : string * obj[] -> System.Data.Entity.Infrastructure.DbSqlQuery
override this.SqlQuery : string * obj[] -> System.Data.Entity.Infrastructure.DbSqlQuery
Public Overridable Function SqlQuery (sql As String, ParamArray parameters As Object()) As DbSqlQuery
パラメーター
- sql
- String
SQL クエリ文字列。
- parameters
- Object[]
SQL クエリ文字列に適用するパラメーター。 出力パラメーターが使用されている場合、結果が完全に読み取られるまで値は使用できません。 これは、DbDataReader の基になる動作が原因です。詳細については、「」を参照してください http://go.microsoft.com/fwlink/?LinkID=398589 。
戻り値
DbSqlQuery列挙時にクエリを実行する オブジェクト。
適用対象
Entity Framework