C# WCF运营合同和Nhibernate ICriteria
我们正在尝试使用WCF和ICriteria创建一个很酷的API,例如: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) } [服务合同] 公共类产品服务 { [经营合同] 公共列表
[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就是很好的例子。