问题标签 [odata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3557 浏览

c# - 有没有更简单的方法来创建 WCF/OData 数据服务查询提供程序?

我有一个简单的小数据模型,类似于以下内容:

库存上下文 {

IEnumerable<Computer> GetComputers()

IEnumerable<Printer> GetPrinters()

}

电脑 {

public string ComputerName { get; set; }

public string Location { get; set; } }

打印机 {

public string PrinterName { get; set; }

public string Location { get; set; }

}

结果来自非 SQL 源,因此该数据并非来自连接到数据库的实体框架。

现在我想通过 WCF OData 服务公开数据。到目前为止,我发现这样做的唯一方法是创建我自己的数据服务查询提供程序,根据这个博客教程:

http://blogs.msdn.com/alexj/archive/2010/01/04/creating-a-data-service-provider-part-1-intro.aspx

...这很棒,但似乎是一项相当复杂的工作。提供程序的代码将比我的整个数据模型长 4 倍,以生成所有资源集和属性定义。

在实体框架和从零开始编写自己的数据源之间是否有类似通用提供程序的东西?也许某种方式来构建一个对象数据源或其他东西,这样神奇的 WCF 独角兽就可以拿起我的数据并骑到日落而不必显式地编写提供程序的代码?

0 投票
1 回答
11708 浏览

c# - OData 和自定义 WCF WebGet 方法

我创建了一个 OData 端点(使用实体框架、WCF 数据服务)

并添加了一个自定义测试 WebGet 测试方法,如下所示:

和一个配置行:

但是,无论我如何指定网址,我都无法填写要填写的文本参数。(它始终为空)。

所以:
http://localhost/myservice.svc/SplitString/testtext

不起作用(它抛出我的异常,因为参数为空)。应该使用什么正确的 url 格式(或 UriTemplate)来使参数起作用?

我发现的 odata 和 WebGet 的唯一示例只有一个没有任何参数的示例方法。

0 投票
1 回答
697 浏览

.net - 使用 .NET Compact Framework 使用 Odata 服务

我想使用带有 .NET Compact Framework 3.5 客户端应用程序的odata服务。最简单的方法是什么?odata SDK 中有各种编程语言的客户端,但我找不到与紧凑框架相关的任何内容。

我错过了什么还是我必须使用普通的旧 HttpWebRequests?

谢谢,

阿德里安

0 投票
1 回答
1280 浏览

linq - 使用 LINQ to Netflix OData 按演员请求所有标题

我正在尝试使用 LINQPad 来使用 LINQ 来查询 Netflix OData。我正在尝试搜索包含特定演员的所有电影。例如:

这导致:

NotSupportedException:只能投影正在翻译的查询中的最后一个实体类型

我也试过:

这会导致以下错误:

NotSupportedException:不支持“选择”方法

我尝试了其他一些方法,例如在 where 子句中使用 Id,并选择不同的东西,但一无所获。

0 投票
2 回答
681 浏览

linq - 如何应对 OData(开放数据协议)有限的 Linq 支持

我有一个软件,它使用了很多 Linq-to-SQL。最近想迁移到OData/WCF数据服务架构。但是我在 OData 的 Linq 支持中遇到了太多的问题——它是如此有限。我必须修改我的大部分 Linq 语句并再次彻底测试它们。

我想知道是否有一种系统方法来解决这样的问题,而不是我的手工工作。例如,通过外部包。

顺便说一句,现在我没有信心使用 OData 作为一种架构。

感谢您分享您的想法。

先感谢您,

0 投票
4 回答
4174 浏览

php - 我可以使用 PHP 和 OData 公开 MySQL 数据吗?

据我了解,OData 只是一种以 RESTful 方式公开关系数据的标准化方式。如果我有一个 PHP 应用程序,它应该能够处理这些 RESTful 请求并根据请求数据操作 MySQL 数据库,然后返回一个 ATOM 提要。首先,前面的陈述是否正确?其次,执行此操作的 PHP 库是否已经存在,或者我必须创建自己的库?

如果我完全误解了这些技术并且我的问题没有意义,请随时告诉我。

0 投票
7 回答
13732 浏览

wcf - OData / WCF 数据服务 - HTTP 500 错误

我在 Windows XP SP3 上使用 Visual Studio 2010 创建了 OData/WCF 服务,并安装了所有当前补丁。

当我单击“在浏览器中查看”时,服务打开,我看到了 EF 模型中的 3 个表。但是,当我将表名(在本例中为“命令”)添加到查询字符串的末尾时,而不是查看表中的数据时,我收到了 HTTP 500 错误。 (此错误(HTTP 500 Internal Server Error)表示您访问的网站存在服务器问题,导致网页无法显示。)

我不仅遵循了 2 个站点的示例,还尝试运行博客发帖人发送给我的示例应用程序(在他的机器上运行),但仍然没有任何运气。

该博客文章位于从实体框架模型中公开 OData

有谁知道为什么会发生这种情况以及如何解决它?

这是“在浏览器中查看”的输出:


更新:

为了让这个工作,我有:

  1. 删除并重新安装 IIS
  2. 运行 %WINDIR%\Microsoft.Net\Framework\v4.0.30319\aspnet_regiis –i –enable 命令
  3. 运行 %WINDIR%\Microsoft.Net\Framework\v4.0.30319\ServiceModelReg.exe -r 命令。
  4. 创建了一个新的解决方案并非常仔细地按照说明操作,以确保我没有搞砸任何事情。

毕竟,我仍然收到相同的 HTTP 500 错误,事件查看器中没有任何类型的条目。

还有其他想法吗?

0 投票
1 回答
1425 浏览

.net - odata 服务的身份验证

我想为我的 odata 服务添加一些身份验证。根据用户调用我想要:过滤行和/或删除列。

我在 scott hanselmans 关于 odata 的精美博文(http://www.hanselman.com/blog/CreatingAnODataAPIForStackOverflowIncludingXMLAndJSONIn30Minutes.aspx)中读到可以拦截传入的查询。如果这可行,我可以添加一些额外的过滤。

这种拦截和更改查询将如何准确工作?我找不到任何关于在哪里以及如何做到这一点的例子。

(我正在使用实体框架和 wcf 数据服务(就像 scotts 示例博客一样)

0 投票
1 回答
1245 浏览

.net - 将自定义参数添加到 odata url

我想为我的 odata 服务添加一些身份验证。我想作为参数包含在 url 中的授权令牌,以便 url 可以在 excel 中使用

在 odata 服务执行此操作之前,如何能够接收和解析 url 中提供的任何附加参数?

(我正在使用实体框架和 wcf 数据服务)

0 投票
3 回答
2335 浏览

javascript - 如何结合 odata 和 extjs 的示例

是否有关于如何将 ext-js 网格与 odata 数据源相结合的博文或示例?我怀疑它需要一个自定义数据读取器。