问题标签 [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.
ria - 通过 WCF RIA 服务公开 OData
我创建了一个新的 Silverlight 应用程序,因此我有一个名为“SilverlightOnLineChess.Web”的 Web 项目和一个名为“SilverlightOnlineChess.Client”的 Silverlight 应用程序。在此解决方案中,我创建了一个名为“SilverlightOnlineChess.Data”的新 WCF RIA 服务类库,并在此过程中创建了名为“SilverlightOnlineChess.Data.Web”的关联 Web 项目。我在“SilverlightOnlineChess.Data.Web”项目中创建了必要的实体数据模型和域服务类,并确保我检查了“公开 OData 端点”。
一切正常,花花公子通过应用程序查看数据。但是,如果我尝试点击 url 以查看 OData 带回的内容,如:“ http://localhost:49771/SilverlightOnlineChess-Data-Web-OnlineChessService.svc/OData/ ”它不知道这个 url 是什么. 仅当我在主 Web 项目“SilverlightOnLineChess.Web”而不是“SilverlightOnLineChess.Data.Web”中创建服务和实体模型时,它才有效。
所以现在如果我输入网址,如下所示:
“ http://localhost:49771/SilverlightOnlineChess-Web-OnlineChessService.svc/OData/ ”,它带回了元数据。
有任何想法吗?
jquery - 使用 WebForms 中的 OData
作为一些背景知识,我更喜欢 ASP.NET MVC 给我的灵活性和好处,并且自 MVC 发布以来一直在构建它。但是我即将开始的新项目需要一个复杂的日历/调度器控件——并且没有一个 jQuery 替代品能够满足所有要求。
这使我找到了 Telerik Radtools Scheduler,它勾选了所有框,但它的目标是 ASP.NET WebForms。
项目的其余部分包含基本的 CRUD 功能,非常适合通过 MVC 公开的模式。
我最近看到了很多关于 OData 的讨论,我想知道这是否会给我带来我所追求的“中间立场”。
有没有人有任何利用 Webforms 中的 OData 的经验(或者即使它可能,或者你想做的事情)。
我仍然希望创建一个基于 jQuery 的客户端重型 UX,因此欢迎任何其他想法或建议。
c# - 使用实体框架自定义 WCF 数据服务的提要(代码优先)
谁能告诉我如何使用实体框架(代码优先/仅代码)自定义 Ado.Net 数据服务的 OData 提要?
没有 EDMX 文件(因为它只是代码)。
我尝试添加属性:
对于我的 POCO 实体类,但提要标题标签中没有显示任何内容?
更新:
如果我使用的是 EDMX 文件,我可以通过应用如下属性来自定义提要:
但我没有使用 EDMX 文件 - 我使用的是仅代码。我的问题是关于在仅使用代码(无 XML 文件)时实现同样的事情。
谢谢!
wcf - OData / WCF 数据服务元数据版本控制
OData 协议及其 WCF 数据服务实现中是否有任何元数据版本支持?
假设我们有一个 OData 服务,它公开了单个 Goods 集合,Goods 实体类型具有三个属性:Key(字符串)、Name(字符串)和 AvailableSince(字符串)。该服务已经在运行,并且有一些消费者依赖于这个元数据模式。接下来,我们要更新 Goods 实体类型——例如将属性 AvailableSince(string) 替换为其他内容,或者将其类型从字符串更改为日期时间——因此我们将有两个版本的元数据,而依赖于第一个版本元数据的消费者将无法根据第二个元数据模式发送正确的请求。
有没有办法在单一服务中提供两个元数据版本?如果是,那么消费者如何在请求中指定元数据版本,以及在 WCF 端应如何处理?
提前感谢所有人。
c# - WCF 数据服务无法处理提要条目上的更新
我和我的一些伙伴正在尝试开始使用 WCF 数据服务,所以让我先描述一下我们到目前为止所做的工作:
我们创建了一个相当简单的 WCF 数据服务,其数据源实现了 IUpdatable 接口并通过一些公共 IQueryable<> 属性公开了一些数据(代码附在底部)。起初我们使用 Visual Studio 2010 在 IIS 7 中运行我们的服务,但由于我们无法弄清楚的错误,我们决定改用 Cassini(Webdev 网络服务器)来运行它。
我们用 C# 编写了一个客户端来使用该服务。客户端按预期使用所有不同的数据操作(创建、读取、更新和删除)。到目前为止,一切都很好!在 IIS 7 网络服务器上托管服务时,我们必须使用 POST 隧道来进行更新和删除工作,但现在它按预期工作。
当我们尝试使用我们的 Java (Restlet) 和 Ruby (ruby_odata) 客户端使用该服务时,我们的问题出现了:我们无法使用这些客户端更新数据(我们收到“500 Internal Server Error”和“Method Not Allowed”的回复服务器) 。我们使用了两个相当简单的教程 [a,b] 来创建我们的客户。因此,我们相信我们的问题在于我们的服务。
一个。ruby_odata: http://rdoc.info/projects/visoft/ruby_odata
b. restlet:http://wiki.restlet.org/docs_2.0/13-restlet/28-restlet/287-restlet/288-restlet.html
这两个客户端都被列为 OData SDK ( http://www.odata.org/developers/odata-sdk ) 并且应该可以正常工作以使用 OData 提要。
我们在监控 HTTP 请求时注意到的一件事是,C# 客户端使用 HTTP MERGE 动词进行更新(查看此处了解更多信息:http://blogs.msdn.com/b/astoriateam/archive/2008/05/ 20/merge-vs-replace-semantics-for-update-operations.aspx),而 Java 和 Ruby 都使用 HTTP PUT 进行更新。这可能是只有我们的 C# 客户端工作的原因吗?我们可以做些什么来启用 PUT 更新?
我们刚刚开始使用 .NET,如果您在回答时可以考虑到这一点,我们将不胜感激
visual-studio-2008 - 适用于 Visual Studio 2008 的 OData 或 REST WCF 工具包?
我尝试使用 VS 2008 创建 OData Web 服务,但没有任何运气。我从 Odata.org 下载了 ODataDemo,安装了Microsoft .NET Framework 3.5 Service Pack 1和适用于 Windows XP 的 .NET Framework 3.5 的 ADO.NET Data Services Update。但是,我没有看到对 ADO.NET 数据服务框架的任何引用。当我尝试添加新的 ADO.Net 数据服务时,我找不到任何模板。
例如,我无法从 Add|New Item...(| Web | WCF Data Service) 中找到 ADO.Net 数据 Web 服务。
不确定我是否错过了任何包或库?或者是否有任何可用的 OData .Net 3.5 或 VS 2008 示例项目?
顺便说一句,我尝试下载 VS2010 Express。它在我的 Windows XP 上太慢了,我找不到任何用于 Web 服务或 ADO.Net wcf 数据服务的模板。我不确定是否有任何其他可用于 VS 2008 的 REST Web 服务工具包?我想我很久以前就尝试过CodePlex的 REST WCF Toolkit ,但我在那里找不到它。基本上我需要的是一个工具包来创建 REST 服务以提供 xml 或 json 中的数据集合。
jquery - 使用 jQuery.ajax() 自定义 HTTP 动词
是否可以在 jQuery.ajax() 中使用自定义 HTTP VERB,如 MERGE?我正在与 OData API 交互,该 API 在向记录发布更新时需要一个 MERGE 动词。
我遇到的问题是,当我在 ajax() 请求中使用“MERGE”时,它不会向服务器发送数据。它只是发送一个没有数据的 MERGE 请求,因此 OData 服务拒绝它。
当我将请求更改为 PUT 时,OData 服务发回 500 错误。
我的选择基本上是弄清楚如何获取“MERGE”调用以将数据与请求一起发送,执行 DELETE,然后执行 POST(在每次更新时删除并重新创建记录),或者弄清楚如何修改 OData 服务接受 PUT 进行更新。
如果您对如何使 jQuery.ajax() 使用 MERGE 请求发送数据有任何想法,请告诉我。
谢谢,
戴夫
javascript - 有没有办法在特定列中自定义 jqGrid 中的搜索规则?
我有 jqgrid :
有没有办法在“日期”列中设置“odata”选项。现在它显示“更大”和“更少”。我需要-“从”和“到”。
我试试这个:
它不起作用,仍然显示“更大”和“更少”。试过这个:
它在所有列中将“大于”替换为“从”,将“小于”替换为“到”,但我只需要在“日期”列中。有没有办法做到这一点?
谢谢。
javascript - jquery ajax 成功结果为空
我正在使用 jquery 进行 ajax 调用以获取 json 格式的数据。调用成功回调函数但数据为空。
使用提琴手我看到响应实际上是返回 json 数据,但由于某种原因 jquery 结果对象为空。谁能告诉我为什么?
java - Ruby/Java 中的 OData 提供程序
是否有任何用于 Ruby 或 Java 的 OData提供程序SDK?