EntityQuery 泛型类

表示对实体集合的 LINQ 查询。

命名空间: System.ServiceModel.DomainServices.Client
程序集: System.ServiceModel.DomainServices.Client(在 system.servicemodel.domainservices.client.dll 中)

用法

用法
Dim instance As EntityQuery(Of TEntity)

语法

声明
Public NotInheritable Class EntityQuery(Of TEntity As Entity)
    Inherits EntityQuery
public sealed class EntityQuery<TEntity> : EntityQuery where TEntity : Entity
generic<typename TEntity> where TEntity : Entity
public ref class EntityQuery sealed : public EntityQuery

GenericParameters

  • TEntity
    实体类型。

示例

下面的代码演示如何从域服务检索客户。它将筛选电话号码以 583 开头的客户并按 LastName 的字母顺序进行排序。结果显示在 DataGrid 中。

Partial Public Class MainPage
    Inherits UserControl

    Private _customerContext As New CustomerDomainContext

    Public Sub New()
        InitializeComponent()

        Dim query As EntityQuery(Of Customer)

        query = _
            From c In Me._customerContext.GetCustomersQuery() _
            Where c.Phone.StartsWith("583") _
            Order By c.LastName

        Dim loadOp = Me._customerContext.Load(query)
        CustomerGrid.ItemsSource = loadOp.Entities
    End Sub

End Class
public partial class MainPage : UserControl
{
    private CustomerDomainContext _customerContext = new CustomerDomainContext();

    public MainPage()
    {
        InitializeComponent();
        EntityQuery<Customer> query = 
            from c in _customerContext.GetCustomersQuery()
            where c.Phone.StartsWith("583")
            orderby c.LastName
            select c;
        LoadOperation<Customer> loadOp = this._customerContext.Load(query);
        CustomerGrid.ItemsSource = loadOp.Entities;
    }
}

备注

在客户端应用程序中,可以针对查询应用其他筛选以限制返回哪些实体。使用 LINQ 和 LINQ 查询运算符的子集修改从查询返回的结果。下表列出了可用的查询运算符:

  • 其中

  • OrderBy

  • ThenBy

  • Skip

  • Take

应用了其他筛选后,在 Load 方法中将 EntityQuery 对象作为参数传递,以执行查询并获取结果。如果查询具有一个 QueryAttribute 且其 IsComposable 属性设置为 false,则无法在查询上应用其他筛选。一般而言,仅返回单个实体的查询会将 IsComposable 设置为 false

继承层次结构

System.Object
   System.ServiceModel.DomainServices.Client.EntityQuery
    System.ServiceModel.DomainServices.Client.EntityQuery

线程安全

此类型的任何公共静态(在 Visual Basic 中为 共享)成员都是线程安全的。不保证所有实例成员都是线程安全的。

平台

开发平台

Windows XP Home Edition, Windows XP Professional, Windows Server 2003 、Windows Server 2008 和 Windows 2000

目标平台

Change History

另请参见

参考

EntityQuery 成员
System.ServiceModel.DomainServices.Client 命名空间