Существует ли стандартизированный формат 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, описывающая подобные запросы?
Меня вдохновил FetchXML от Microsoft CRM:
http://msdn.microsoft.com/en-us/library/ms936573.aspx
Определили ли какие-либо органы по стандартизации веб-служб схему запросов к веб-службам? Любые другие предложения?