DbSet<TEntity>.SqlQuery - метод
[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]
Создает необработанный SQL-запрос, возвращающий сущности в данном наборе. По умолчанию возвращаемые сущности отслеживаются контекстом. Это поведение можно изменить, вызвав метод AsNoTracking для возвращаемого объекта DbSqlQuery<TEntity>. Обратите внимание, что сущности всегда имеют тип, заданный для набора, и никогда не имеют производный тип. Если запрашиваемая таблица или таблицы могут содержать данные других типов сущностей, SQL-запрос должен быть написан соответствующим образом, обеспечивая возврат только сущностей нужного типа. Как и для любого API, принимающего SQL, важно параметризовать все пользовательские входные данные для защиты от атаки путем внедрения кода SQL. Можно включать в строку SQL-запроса местозаполнители параметров и затем предоставлять значения параметров как дополнительные аргументы. Все предоставляемые значения параметров будут автоматически преобразовываться в DbParameter. context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); также можно создать DbParameter и предоставить его в SqlQuery. Это позволяет использовать в строке запроса SQL именованные параметры. context.Blogs.SqlQuery("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
Пространство имен: System.Data.Entity
Сборка: EntityFramework (в EntityFramework.dll)
Синтаксис
'Декларация
Public Overridable Function SqlQuery ( _
sql As String, _
ParamArray parameters As Object() _
) As DbSqlQuery(Of TEntity)
'Применение
Dim instance As DbSet
Dim sql As String
Dim parameters As Object()
Dim returnValue As DbSqlQuery(Of TEntity)
returnValue = instance.SqlQuery(sql, parameters)
public virtual DbSqlQuery<TEntity> SqlQuery(
string sql,
params Object[] parameters
)
public:
virtual DbSqlQuery<TEntity>^ SqlQuery(
String^ sql,
... array<Object^>^ parameters
)
abstract SqlQuery :
sql:string *
parameters:Object[] -> DbSqlQuery<'TEntity>
override SqlQuery :
sql:string *
parameters:Object[] -> DbSqlQuery<'TEntity>
public function SqlQuery(
sql : String,
... parameters : Object[]
) : DbSqlQuery<TEntity>
Параметры
- sql
Тип: System.String
Строка SQL-запроса.
- parameters
Тип: System.Object[]
Параметры, подставляемые в строку SQL-запроса. Если используются выходные параметры, их значения не будут доступны до полного прочтения результатов. Это происходит вследствие базового поведения DbDataReader, дополнительные сведения см. на сайте https://go.microsoft.com/fwlink/?LinkID=398589.
Возвращаемое значение
Тип: System.Data.Entity.Infrastructure.DbSqlQuery<TEntity>
Объект DbSqlQuery<TEntity>, выполняющий запрос при перечислении.