c# - WCF 操作契约(Contract)和 Nhibernate ICriteria

标签 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)

}

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

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

谢谢。

最佳答案

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

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

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

关于c# - WCF 操作契约(Contract)和 Nhibernate ICriteria,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/576919/

相关文章:

c# - NHibernate 设置 : Should I override Equals and GetHashCode?

c# - 如何将授权 header 添加到 WCF 中的请求?

c# - yield return 是否跨服务边界工作?

wcf - WF4 调用 WCF 服务

c# - 在现有 WCF SOAP 服务中添加 Http header 不起作用

nhibernate - 当数据库中的列为 Null 时,是什么导致了 "Invalid index nn for this SqlParameterCollection with Count=nn"?

c# - 当我将日期和时间转换为唯一时间时,单元格变为只读

c# - 如何在 C# 中访问特定日期的 sql server 2008 表中的数据?

c# - 使用最小起订量验证列表

c# - NHibernate 3.3 : Mapping many to many relationship with composite foreign keys