是否有用于描述实体查询的标准认可的XML格式?
背景:我计划构建一个用于通过WCF服务编写查询的库。
在客户端我希望能够写(C#):
var customers = from c in service.Customers
where c.Name.StartsWith("P")
order by c.Name
select c;
我将使用自定义序列化程序将LINQ查询转换为XML格式,以作为SOAP主体的一部分发送到服务器。也许它看起来像这样:
<query>
<fetch entity="Customer">
<all-attributes />
<filter type="and">
<condition attribute="Name" operator="starts-with" value="P" />
</filter>
<order-by attribute="Name" />
</fetch>
</query>
在服务器端,操作看起来像这样:
public ResultSet Query(Query query)
{
using (var dataContext = new AdventureWorksDataContext())
{
var expression = query.ToExpressionTree();
var sqlQuery = dataContext.CreateQuery(expression);
return ResultSet.From(sqlQuery);
}
}
由于查询只是XML,我希望其他客户也能够轻松地使用它。
我的问题是,是否已有一个描述此类查询的XML架构?
启发我的是Microsoft CRM的FetchXML:
http://msdn.microsoft.com/en-us/library/ms936573.aspx
是否有任何Web服务标准组织为Web服务的查询定义了架构?还有其他建议吗?