EntityQuery 类

表示查询方法调用。

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

用法

用法
Dim instance As EntityQuery

语法

声明
Public MustInherit Class EntityQuery
public abstract class EntityQuery
public ref class EntityQuery abstract
public abstract class EntityQuery
public abstract class EntityQuery

示例

下面的代码演示如何从域服务检索客户。它将筛选电话号码以 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 命名空间