WCF OperationContract и Nhibernate ICriteria
Мы пытаемся создать классный API, используя WCF и ICriteria, например:
[ServiceContract]
public class ProductService
{
[OperationContract]
public List<Product> Get()
[OperationContract]
public List<Product> GetByCriteria(Criteria criteria)
}
Мы думаем использовать DetachedCriteria, чтобы любой мог отправить его, и мы подключаем его к сеансу в Службе для выполнения запроса перед нашей базой данных.
Есть ли кто-нибудь, кто создает такой API? Мы должны использовать ICriteria с NHibernate на? Есть еще классные идеи?
Спасибо.
1 ответ:
Это не крутой API. Он ориентирован на объект,а не на сервис. И это не сработает.
Вам придется использовать KnownTypeAttribute (или ServiceKnownTypeAttribute) для полиморфных запросов. (см. Этот вопрос).
Кроме того, это не очень элегантное решение, и я бы отговорил вас от этого. Будьте откровенны, когда находитесь в мире обслуживания.