Tag: odata

OData“列表中的ID”查询

我有一个OData服务,我试图通过ID列表进行筛选; SQL的等价物会是这样的: SELECT * FROM MyTable WHERE TableId IN (100, 200, 300, 400) 我试图过滤的属性是键入为Int32。 我试过以下,这给我一个错误“操作员添加”与操作数types“Edm.String”和“Edm.Int32”不兼容: string ids = ",100,200,300,400,"; from m in provider.Media where ids.Contains("," + t.media_id + ",") 以及 string ids = ",100,200,300,400,"; from m in provider.Media where ids.Contains("," + t.media_id.ToString() + ",") 和 string ids = ",100,200,300,400,"; from m in provider.Media where ids.Contains("," […]

OData Python库可用?

我想知道是否有任何OData Python库可用于生产和消费OData? 有不同的语言实现: http : //www.odata.org/libraries/ 但到目前为止我找不到Python。 顺便说一句,我不是指IronPython。 该库应该只在Python中可用。

Web API每个实体的OData安全性

背景: 我有一个非常大的OData模型,目前使用WCF数据服务(OData)来公开它。 不过,微软已经表示WCF数据服务已经死亡 ,Web API OData是他们将要进行的方式。 所以我正在研究如何使Web API OData和WCF数据服务一样工作。 问题设置: 模型的某些部分不需要保护,但有一部分可以。 例如,客户列表需要安全来限制谁可以阅读,但是我有其他列表,比如产品列表,任何人都可以查看。 Customers实体有许多可以达到的关联。 如果您计算2+级关联,则可以通过数百种方式(通过关联)访问客户。 例如Prodcuts.First().Orders.First().Customer 。 由于客户是我系统的核心,您可以从大多数任何实体开始,最终将您的方式与客户列表联系起来。 WCF数据服务有一种方法可以让我通过这样的方法把安全性放在一个特定的实体上: [QueryInterceptor("Customers")] public Expression<Func<Customer, bool>> CheckCustomerAccess() { return DoesCurrentUserHaveAccessToCustomers(); } 当我看Web API的OData,我没有看到这样的事情。 另外我非常担心,因为我所做的控制器似乎并没有被召唤,当一个协会是遵循的。 (这意味着我不能把安全性放在CustomersController 。) 我担心,我将不得不设法列举协会可以如何得到客户,并在每一个方面安全的方式。 题: 有没有一种方法可以将安全性放在Web API OData的特定实体上? (没有必要列举所有可能以某种方式扩展到该实体的关联)

ASP .NET MVC 4 WebApi:手动处理OData查询

我有一个使用ASP.NET MVC 4提供的WebAPI制作的Web服务。我知道WebAPI工作的顶层自动处理OData查询 (例如$filter , $top , $skip ),但是如果我想自己处理过滤? 我不只是从我的数据库返回数据 ,但我有另一个层添加一些属性,进行一些转换等。所以查询我的所有数据,转换他们,并返回到WebAPI类OData过滤不仅仅是好足够。 这当然是非常缓慢,通常是一个糟糕的主意。 那么是否有一种方法可以将我的WebAPI入口点的OData查询参数传播到我调用的函数来获取和转换数据? 例如,GET to /api/people?$skip=10&$top=10会在服务器上调用: public IQueryable<Person> get() { return PersonService.get(SomethingAboutCurrentRequest.CurrentOData); } 在PersonService : public IQueryable<Person> getPeople(var ODataQueries) { IQueryable<ServerSidePerson> serverPeople = from p in dbContext.ServerSidePerson select p; // Make the OData queries // Skip serverPeople = serverPeople.Skip(ODataQueries.Skip); // Take serverPeople = serverPeople.Take(ODataQueries.Take); // […]

OData的缺点?

我正在研究如何将OData用于我们的Java RESTful Web服务。 对于使用OData来说,我有很多好处,因为它们是一个很好的参数。 但是,读了很多关于OData的论文,我还没有看到任何缺点列表,以作出最终决定。 有谁知道使用OData(odata4j在这个例子中)的缺点? 谢谢 莎拉

无法加载文件或程序集System.Net.Http,版本= 4.0.0.0与ASP.NET(MVC 4)Web API OData预发行

问题 在安装Microsoft ASP.NET Web API OData包5.0.0-rc1 prerelease后,最终出现以下exception: 无法加载文件或程序集“System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。 定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的exception:0x80131040) 我的MVC 4项目是全新的,真的很小,没有什么奇特的。 我的目标是.NET框架4.5 我需要这个nuget包来实现使用Delta类的PATCH (当我使用包的版本4.0.0.0时,Delta类不工作)。 我该如何解决这个问题? 我的版本的System.Web.Http 在GAC中,我有5.0.0.0版本的System.Web.Http gacutil -l System.Web.Http全局程序集caching包含以下程序集:System.Web.Http,Version = 5.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL 在Visual Studio中 ,当我浏览程序集时,给定版本的System.Web.Http是4.0.0.0 (为什么?) 在我的项目中 ,引用System.Web.Http 有版本5.0.0.0 指向包的\ lib \ net45 \文件夹 有CopyLocal = true 我试过的东西 我试图在Web.config中将redirectv 4.0.0.0绑定到5.0.0.0 <dependentAssembly> <assemblyIdentity […]

WCF数据服务(OData)与ASP.NET Web API

我正在devise一个由RESTful服务和各种客户端(Silverlight,iOS,Windows Phone 7等)组成的分布式应用程序。 现在我决定使用哪种技术来实现我的服务,WCF数据服务(OData)或ASP.NET MVC 4中提供的新的ASP.NET Web API。 我已经在线观看了几个演示,现在我倾向于使用WCF数据服务,主要是因为URI中内置的过滤机制和本地超媒体function。 我能看到的唯一不足就是Atom Pub规范的详细程度,而不是POX。 在作出决定之前,有什么我应该了解的这两种技术? 为什么有人会通过WCF数据服务selectASP.NET Web API?

OData和REST Web服务之间的区别

在研究一些networking服务的同时,我遇到了微软称之为OData的 “新”技术。 阅读OData的常见问题描述,我很难区分OData和REST-ful web服务。 有人能帮我理解差异吗?

从2012年到2013年更新后无法加载文件或程序集“System.Web.Http 4.0.0”

我根据。 http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and- Web的API-2 我得到错误。 其他人是否有这个错误? “/”应用程序中的服务器错误。 无法加载文件或程序集“System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其某个依赖项。 定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的exception:0x80131040) 说明:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪,了解有关错误的更多信息以及源代码的来源。 exception详细信息:System.IO.FileLoadException:无法加载文件或程序集“System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。 定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的exception:0x80131040) 源错误: 48行49行50行51行52行protected void Application_BeginRequest(object sender,EventArgs e) 源文件:d:\ SM \ 7.4Test \ WebAPIServerV2 \ ThirdPartyWebAPI \ Global.asax.cs行:50 程序集加载跟踪:以下信息可以帮助确定程序集“System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”无法加载的原因。 ===预绑定状态信息===日志:DisplayName = System.Web.Http,Version = 4.0.0.0,Culture = […]