WCF OperationContract и Nhibernate ICriteria - PullRequest
2 голосов
/ 23 февраля 2009

Мы пытаемся создать классный API, используя WCF и ICriteria, например:

[ServiceContract]
public class ProductService
{
[OperationContract]
public List<Product> Get()

[OperationContract]
public List<Product> GetByCriteria(Criteria criteria)

}

Мы думаем об использовании DetachedCriteria, чтобы каждый мог отправить его, и мы подключаем его к Сессии в Сервисе для запуска запроса в нашей БД.

Есть ли кто-нибудь, кто создает такой API? Должны ли мы использовать ICriteria из Nhibernate? Любые другие интересные идеи?

Спасибо.

1 Ответ

3 голосов
/ 23 февраля 2009

Это не крутой API. Это объектно-ориентированный, а не сервис-ориентированный. И это не сработает.

Вам придется использовать KnownTypeAttribute (или ServiceKnownTypeAttribute) для полиморфных запросов. (см. этот вопрос).

Кроме того, это не очень элегантное решение, и я бы отговорил вас от этого. Будьте явны, когда находитесь в мире обслуживания.

...