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


Database.SqlQuery<TElement> - метод (String, Object[])

[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]

Создает необработанный SQL-запрос, возвращающий элементы заданного универсального типа. Типом может быть любой тип, содержащий свойства, совпадающие с именами столбцов, возвращаемых запросом, либо простой тип-примитив. Тип не обязательно должен быть типом сущности. Результаты этого запроса никогда не отслеживаются контекстом, даже если возвращаемый объект имеет тип сущности. Используйте метод SqlQuery(String, Object[]) для возврата сущностей, отслеживаемых контекстом. Как и для любого API, принимающего SQL, важно параметризовать все пользовательские входные данные для защиты от атаки путем внедрения кода SQL. Можно включать в строку SQL-запроса местозаполнители параметров и затем предоставлять значения параметров как дополнительные аргументы. Все предоставляемые значения параметров будут автоматически преобразовываться в DbParameter. context.Database.SqlQuery&amp;lt;Post&amp;gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); также можно создать DbParameter и передать его в SqlQuery. Это позволяет использовать в строке запроса SQL именованные параметры. context.Database.SqlQuery&amp;lt;Post&amp;gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));

Пространство имен:  System.Data.Entity
Сборка:  EntityFramework (в EntityFramework.dll)

Синтаксис

'Декларация
Public Function SqlQuery(Of TElement) ( _
    sql As String, _
    ParamArray parameters As Object() _
) As DbRawSqlQuery(Of TElement)
'Применение
Dim instance As Database 
Dim sql As String 
Dim parameters As Object()
Dim returnValue As DbRawSqlQuery(Of TElement)

returnValue = instance.SqlQuery(sql, parameters)
public DbRawSqlQuery<TElement> SqlQuery<TElement>(
    string sql,
    params Object[] parameters
)
public:
generic<typename TElement>
DbRawSqlQuery<TElement>^ SqlQuery(
    String^ sql, 
    ... array<Object^>^ parameters
)
member SqlQuery : 
        sql:string * 
        parameters:Object[] -> DbRawSqlQuery<'TElement> 
JScript does not support generic types and methods.

Параметры типа

  • TElement
    Тип объекта, возвращаемого запросом.

Параметры

  • parameters
    Тип: System.Object[]
    Параметры, подставляемые в строку SQL-запроса. Если используются выходные параметры, их значения не будут доступны до полного прочтения результатов. Это происходит вследствие базового поведения DbDataReader, дополнительные сведения см. на сайте https://go.microsoft.com/fwlink/?LinkID=398589.

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

Тип: System.Data.Entity.Infrastructure.DbRawSqlQuery<TElement>
Объект DbRawSqlQuery<TElement>, выполняющий запрос при перечислении.

См. также

Справочник

Database Класс

SqlQuery - перегрузка

System.Data.Entity - пространство имен