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 命名空间