2009-02-23 78 views
2

我们正试图创建一个使用WCF和的ICriteria一个很酷的API,例如:WCF OperationContract的和NHibernate的ICriteria

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

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

} 

我们正在考虑使用的DetachedCriteria所以任何人都可以把它和我们这个连接会话在用于运行我们数据库的查询的服务中。

有没有人创建这样的API? 我们应该使用Nhibernate的ICriteria吗? 任何其他酷想法?

谢谢。

回答

3

这不是很酷的API。它是面向对象的,而不是面向服务的。它不会工作。

对于多态查询,您将不得不使用KnownTypeAttribute(或ServiceKnownTypeAttribute)。 (见this问题)。

此外这不是很优雅的解决方案,我会劝阻你。在服务世界中明确表达。

+0

你能给我一个更好的例子吗? – rabashani 2009-02-23 08:54:06