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

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

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

}


我们正在考虑使用DetachedCriteria,以便任何人都可以发送它,并将其连接到服务中的Session,以在数据库的前端运行查询。

有没有人创建这样的API?
我们应该使用Nhibernate的ICriteria吗?
还有其他好主意吗?

谢谢。

最佳答案

这不是很酷的API。它是面向对象的,而不是面向服务的。而且它将不起作用。

您将必须使用KnownTypeAttribute(或ServiceKnownTypeAttribute)进行多态查询。 (请参见this问题)。

同样,这不是一个很好的解决方案,我不鼓励您这样做。在服务世界中要明确。

10-07 13:36