请单击以进行评分并提供反馈
MSDN
MSDN Library
.NET 开发
.NET Framework
DataContext 类
 ExecuteQuery(TResult) 泛型方法 (String,...
.NET Framework 类库
DataContext..::.ExecuteQuery<(Of <(TResult>)>) 泛型方法 (String, array<Object>[]()[])

直接对数据库执行 SQL 查询并返回对象。

命名空间:  System.Data.Linq
程序集:  System.Data.Linq(在 System.Data.Linq.dll 中)

Visual Basic(声明)
Public Function ExecuteQuery(Of TResult) ( _
    query As String, _
    ParamArray parameters As Object() _
) As IEnumerable(Of TResult)
Visual Basic(用法)
Dim instance As DataContext
Dim query As String
Dim parameters As Object()
Dim returnValue As IEnumerable(Of TResult)

returnValue = instance.ExecuteQuery(query, _
    parameters)
C#
public IEnumerable<TResult> ExecuteQuery<TResult>(
    string query,
    params Object[] parameters
)
Visual C++
public:
generic<typename TResult>
IEnumerable<TResult>^ ExecuteQuery(
    String^ query, 
    ... array<Object^>^ parameters
)
JScript
JScript 不支持泛型类型或方法。

类型参数

TResult

返回的集合中的元素的类型。

参数

query
类型:System..::.String

要执行的 SQL 查询。

parameters
类型:array< System..::.Object >[]()[]

要传递给命令的参数数组。注意下面的行为:

  • 如果数组中的对象的数目小于命令字符串中已标识的最大数,则会引发异常。

  • 如果数组包含未在命令字符串中引用的对象,则不会引发异常。

  • 如果某参数为 null,则该参数会转换为 DBNull.Value

返回值

类型:System.Collections.Generic..::.IEnumerable<(Of <(TResult>)>)

由查询返回的对象的集合。

当 LINQ to SQL 不足以应对特定方案时,此方法可用作一种传递机制。

使查询结果中的列与对象中的字段和属性相匹配的算法如下所示:

  • 如果字段或属性映射到特定列名称,则结果集中应包含该列名称。

  • 如果未映射字段或属性,则结果集中应包含其名称与该字段或属性相同的列。

  • 通过先查找区分大小写的匹配来执行比较。如果未找到匹配项,则会继续搜索不区分大小写的匹配项。

  • 如果同时满足下列所有条件,则该查询应当返回(除延迟加载的对象外的)对象的所有跟踪的字段和属性:

    • 如果 <T> 是由 DataContext 显式跟踪的实体。

    • ObjectTrackingEnabled 为 true。

    • 实体具有主键。

    否则会引发异常。

  • 在所有其他情况下,查询只能检索对象的已跟踪字段和属性的子集。

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

.NET Framework

受以下版本支持:3.5
社区内容   什么是社区内容?
添加新内容 RSS  批注
Processing
© 2008 Microsoft Corporation 版权所有。 保留所有权利  |  商标  |  隐私权声明
Page view tracker