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


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

Определение

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

Как и в случае с любым API, который принимает SQL, важно параметризовать любые входные данные пользователя для защиты от атак путем внедрения кода SQL. Вы можете включить заполнители параметров в строку ЗАПРОСА SQL, а затем указать значения параметров в качестве дополнительных аргументов. Все указанные значения параметров будут автоматически преобразованы в DbParameter. Контексте. Blogs.SqlQuery("SELECT * FROM dbo. Записи WHERE Author = @p0", userSuppliedAuthor); Кроме того, можно создать DbParameter и передать его в SqlQuery. Это позволяет использовать именованные параметры в строке SQL-запроса. Контексте. Blogs.SqlQuery("SELECT * FROM dbo. Записи WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

public virtual System.Data.Entity.Infrastructure.DbSqlQuery<TEntity> SqlQuery (string sql, params object[] parameters);
abstract member SqlQuery : string * obj[] -> System.Data.Entity.Infrastructure.DbSqlQuery<'Entity (requires 'Entity : null)>
override this.SqlQuery : string * obj[] -> System.Data.Entity.Infrastructure.DbSqlQuery<'Entity (requires 'Entity : null)>
Public Overridable Function SqlQuery (sql As String, ParamArray parameters As Object()) As DbSqlQuery(Of TEntity)

Параметры

sql
String

Строка SQL-запроса.

parameters
Object[]

Параметры, подставляемые в строку SQL-запроса. Если используются выходные параметры, их значения будут недоступны, пока результаты не будут полностью прочитаны. Это связано с базовым поведением DbDataReader, см http://go.microsoft.com/fwlink/?LinkID=398589 . дополнительные сведения.

Возвращаемое значение

Объект DbSqlQuery<TEntity> , который будет выполнять запрос при его перечислении.

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