Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF运营合同和Nhibernate ICriteria_C#_Wcf_Nhibernate_Api_Data Access Layer - Fatal编程技术网

C# WCF运营合同和Nhibernate ICriteria

C# WCF运营合同和Nhibernate ICriteria,c#,wcf,nhibernate,api,data-access-layer,C#,Wcf,Nhibernate,Api,Data Access Layer,我们正在尝试使用WCF和ICriteria创建一个很酷的API,例如: [ServiceContract] public class ProductService { [OperationContract] public List<Product> Get() [OperationContract] public List<Product> GetByCriteria(Criteria criteria) } [服务合同] 公共类产品服务 { [经营合同] 公共列表

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

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

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

}
[服务合同]
公共类产品服务
{
[经营合同]
公共列表Get()
[经营合同]
公共列表GetByCriteria(标准)
}
我们正在考虑使用DetachedCriteria,这样任何人都可以发送它,我们将它连接到服务中的会话,以便在数据库前面运行查询

有人创建了这样的API吗? 我们应该使用Nhibernate的ICriteria吗? 还有什么好主意吗


谢谢。

这不是很酷的API。它是面向对象的,而不是面向服务的。这是行不通的

对于多态查询,您必须使用KnownTypeAttribute(或ServiceKnownTypeAttribute)。(见问题)


此外,这不是一个非常优雅的解决方案,我会劝阻你不要这样做。在服务世界中要明确。

你能给我一个更好的例子吗?不要太笼统,也不要把你的WCF服务和其他基础架构框架代码混在一起。使您的服务具体明确。GetProductsByColor或GetProductsByTypeAndPriceRange就是很好的例子。