ObjectContext.ExecuteStoreQuery<TElement> 方法 (String, Object[])
[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]
对数据源直接执行查询并返回类型化结果的序列。 使用服务器的本机查询语言(如 SQL)指定该查询。 上下文未跟踪这些结果,请使用指定实体集名称的重载跟踪结果。 与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。 您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。 您提供的任何参数值都将自动转换为 DbParameter。 context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。 这允许您在 SQL 查询字符串中使用命名参数。 context.ExecuteStoreQuery<Post>("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
命名空间: System.Data.Entity.Core.Objects
程序集: EntityFramework(在 EntityFramework.dll 中)
语法
声明
Public Overridable Function ExecuteStoreQuery(Of TElement) ( _
commandText As String, _
ParamArray parameters As Object() _
) As ObjectResult(Of TElement)
用法
Dim instance As ObjectContext
Dim commandText As String
Dim parameters As Object()
Dim returnValue As ObjectResult(Of TElement)
returnValue = instance.ExecuteStoreQuery(commandText, _
parameters)
public virtual ObjectResult<TElement> ExecuteStoreQuery<TElement>(
string commandText,
params Object[] parameters
)
public:
generic<typename TElement>
virtual ObjectResult<TElement>^ ExecuteStoreQuery(
String^ commandText,
... array<Object^>^ parameters
)
abstract ExecuteStoreQuery :
commandText:string *
parameters:Object[] -> ObjectResult<'TElement>
override ExecuteStoreQuery :
commandText:string *
parameters:Object[] -> ObjectResult<'TElement>
JScript does not support generic types and methods.
类型参数
- TElement
结果序列的元素类型。
参数
- commandText
类型:System.String
使用服务器的本机查询语言指定的查询。
- parameters
类型:System.Object[]
要用于查询的参数值。 如果使用输出参数,则它们的值在完全读取结果之前不可用。 这是由于 DbDataReader 的基础行为而导致的,有关详细信息,请参见 https://go.microsoft.com/fwlink/?LinkID=398589。
返回值
类型:System.Data.Entity.Core.Objects.ObjectResult<TElement>
类型为 TElement 的对象的枚举。