c# - 将 LINQ 语句转换为通常的数据服务 URL

标签 c# wcf linq url

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

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

当执行如下语句时:

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

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

最佳答案

我有一个非常相似的问题,我发现了这个 EntitySorter而且效果非常好……您可以看到它的类似实现 here也(查看投票较高的答案,而不是标记的答案)。

它会让你做这种事情:

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

编辑:附带说明一下,我有充分的理由使用它(实际上是在模拟服务层中使用它,所以我不关心性能),但值得注意的是 EntitySorter 必须“绕过你的 a$$ 到你的肘部”让软搜索工作......我认为这是微软试图说“我们没有故意让这变得容易”......也就是说,我认为 EntitySorter 是考虑到它在做什么,这是一个非常优雅的解决方案:)

关于c# - 将 LINQ 语句转换为通常的数据服务 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14072860/

相关文章:

c# - 如何在 C# 中导入原始 RSS 提要?

wcf - 使用 IOperationBehavior 提供 WCF 参数

c# - LINQ 返回列表中与另一个列表中的任何名称(字符串)匹配的项目

c# - 如何使用 linq 表达式展平嵌套对象

c# - 如何执行 LINQ 查询并选择?

c# - XamarinBuildAndroidAarProguardConfigs 任务意外失败

c# - 如何从 PHP 向 C# 服务发送通知?

xml - WCF 数组序列化

c# - 动态创建 GroupBy 语句

c# - GridView 仅显示第一个检索到的记录