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


Database.SqlQuery - метод

Включить защищенные члены
Включить унаследованные члены

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

Создает необработанный SQL-запрос, возвращающий элементы заданного типа.

Этот член перегружен. Для получения полной информации о данном члене, включая синтаксис, использование и примеры, щелкните имя в списке перегрузок.

Список перегрузок

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

По верхнему краю

См. также

Справочник

Database Класс

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