QueryAttribute 类

指定 DomainService 方法为查询方法。

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

用法

用法
Dim instance As QueryAttribute

语法

声明
<AttributeUsageAttribute(AttributeTargets.Method Or AttributeTargets.Property Or AttributeTargets.Field, AllowMultiple:=False, Inherited:=True)> _
Public NotInheritable Class QueryAttribute
    Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true)] 
public sealed class QueryAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method|AttributeTargets::Property|AttributeTargets::Field, AllowMultiple=false, Inherited=true)] 
public ref class QueryAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true) */ 
public final class QueryAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true) 
public final class QueryAttribute extends Attribute

备注

QueryAttribute 特性应用于某个方法以指示该方法是查询方法,或为该查询方法指定某些值。如果您的方法与某个查询方法的预期方法签名匹配,则不必应用 QueryAttribute。RIA Services 框架将推断出应将带有预期查询签名的方法视为查询。您可以对某方法应用 IgnoreAttribute 以防止 RIA Services 框架为该方法生成域操作。

下面显示了查询方法的预期签名:

返回值

IEnumerable<T>IQueryable<T> 或实体

参数

任何数值

名称前缀

任何名称

特性

[Query] (C#)

-或-

<Query()> (Visual Basic)

示例

public IQueryable<Product> GetProducts() (C#)

-或-

Public Function GetProducts() As IQueryable(Of Product) (Visual Basic)

QueryAttribute 类可用于设置在处理查询请求时使用的值。您可以通过设置 ResultLimit 属性来限制针对查询返回的记录数量。您可能需要设置该值,以防止因用户发出大量的查询请求而使服务器负担过重。有关更多信息,请参见 Security for WCF RIA Services。使用 IsComposable 属性,您可以通过在新查询内使用查询方法来指定客户端项目中的代码是否可以修改查询的结果。例如,当 IsComposabletrue 时,可以将客户端代码中的 Where 子句添加到服务器上从数据库表返回所有记录的查询。

继承层次结构

System.Object
   System.Attribute
    System.ServiceModel.DomainServices.Server.QueryAttribute

线程安全

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

平台

开发平台

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

目标平台

另请参见

参考

QueryAttribute 成员
System.ServiceModel.DomainServices.Server 命名空间