我有一个架构问题。我已经和ddd一起Restfull api,我想是什么是允许用户过滤数据的最佳方法(我使用nhibarnate作为ORM)。
我想允许用户编写查询字符串示例:
PRODUCTNAME =试验&安培;订单ID = 2
到目前为止,我使用放置在DTO上的自定义属性(可以过滤的属性)进行此操作,并将其转换为标准API(使用refletion和一些奇怪的技巧..)
我已经读过有关OData但是如果我基于IQuerable理解其核心(并且对nHibernate有不良支持)。
您对此有何看法?
答案 0 :(得分:0)
Aspnet Web API OData还公开了ODataQueryOptions。您可以建模将OData查询绑定到ODataQueryOptions以获取查询的AST(抽象语法树)表示,然后您可以遍历该表示以转换为nHibernate查询方法。