我想为我的应用程序提供一个 OData 接口。我看到的示例使用 EF 将 LINQ 查询映射到 SQL 查询。
恕我直言,这种方法几乎向世界公开了物理数据库模型(我知道 EF/NH 提供了一些灵活性,但它是有限的)。
我希望能够做的事情如下:
- 通过一些 DTO 定义我的数据合同。
- 拥有一个 OData 服务,可以让用户查询我的数据合同 Dto。
- 有一些翻译层将 DTO 上的查询转换为查询,例如 EF 模型或 NH。
- 执行翻译后的查询。
- 将结果映射回我的数据合同。
我是疯了还是有解决这个问题的方法?