Поделиться через


DbSet.SqlQuery(String, Object[]) Метод

Определение

Создает необработанный SQL-запрос, возвращающий сущности в данном наборе. По умолчанию возвращаемые сущности отслеживаются контекстом; Это можно изменить, вызвав AsNoTracking в возвращаемом объекте DbRawSqlQuery . Обратите внимание, что возвращаемые сущности всегда относятся к типу для этого набора и никогда не имеют производного типа. Если запрашиваемая таблица или таблицы могут содержать данные других типов сущностей, SQL-запрос должен быть написан соответствующим образом, обеспечивая возврат только сущностей нужного типа.

Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все значения параметров, которые вы указали, будут автоматически преобразованы в DbParameter. Контексте. Set(typeof(Blog)). SqlQuery("SELECT * FROM dbo. Posts 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 , который будет выполнять запрос при его перечислении.

Применяется к