3

我想将一个简单的 LINQ 语句翻译成一个 url,我可以在我的网络服务器上使用它来手动生成我的输出。所以我想得到这样的东西

http://localhost:6627/WebSite15/NorthwindDataService.svc/Products?$orderby=ProductName

执行如下语句时:

Products.Orderby(x => x.ProductName);

这可能吗?我的意思是,一个简单的数据服务开箱即用,但我不想使用这个东西,因为我有特殊要求。

4

2 回答 2

2

我有一个非常相似的问题,我发现了这个EntitySorter ,它工作得非常好......你也可以在这里看到它的类似实现(查看更高投票的答案,而不是标记的答案)。

它会让你做这种事情:

IEntitySorter<Person> sorter = EntitySorter<Person>
    .OrderBy("Address.City")
    .ThenByDescending("Id");

编辑:顺便说一句,我有一个完全正当的理由使用它(实际上是在模拟服务层中使用它,所以我不关心性能),但值得注意的是 EntitySorter 必须“四处走动”你的 a$$ 到你的肘部”让软搜索工作......我认为这是微软试图说“我们不是故意让这件事变得简单”......也就是说,我认为 EntitySorter 是一个非常优雅的考虑到它在做什么的解决方案:)

于 2012-12-28T16:57:40.523 回答
0

我现在已经通过 ExpressionVisitor 实现了这一点。奇迹般有效。

于 2012-12-28T21:52:24.157 回答