Asp Web.Api数据过滤器基于DTO

时间:2013-01-25 19:23:15

标签: c# rest asp.net-web-api

我有一个架构问题。我已经和ddd一起Restfull api,我想是什么是允许用户过滤数据的最佳方法(我使用nhibarnate作为ORM)。

我想允许用户编写查询字符串示例:

  

PRODUCTNAME =试验&安培;订单ID = 2

到目前为止,我使用放置在DTO上的自定义属性(可以过滤的属性)进行此操作,并将其转换为标准API(使用refletion和一些奇怪的技巧..)

我已经读过有关OData但是如果我基于IQuerable理解其核心(并且对nHibernate有不良支持)。

您对此有何看法?

1 个答案:

答案 0 :(得分:0)

Aspnet Web API OData还公开了ODataQueryOptions。您可以建模将OData查询绑定到ODataQueryOptions以获取查询的AST(抽象语法树)表示,然后您可以遍历该表示以转换为nHibernate查询方法。