草庐IT

c# - 来自运行时数据层的 C# 中的动态 odata 服务

我正在尝试从我的表中的表创建动态odata服务,这些表直到运行时才知道。因此,在我的Web应用程序开始时,用户选择一个数据库,然后在C#中我找到该数据库中的所有表。现在最困难的部分是我想为数据库中的每个表创建odata服务端点,并在我的Web应用程序中相应地使用它们。问题是我不知道如何动态地做到这一点。有很多编译时已知数据库表的示例,但在这种情况下,直到我的用户第一次使用我的应用程序时我才会有它们。 最佳答案 这里有一个不需要预定义类的示例:ODataUntypedSample,但它确实需要一个预定义的Controller。我在它的

c# - 如何反序列化 oData JSON?

我正在尝试使用NorthwindOData服务:http://services.odata.org/V3/OData/OData.svc/Products?$format=json并将其反序列化为产品集合:using(varclient=newHttpClient()){HttpResponseMessageresponse=awaitclient.GetAsync(newUri(url));ObservableCollectionproducts=awaitresponse.Content.ReadAsAsync>();}但序列化程序似乎不喜欢odata.metadata部分,而且那

c# - 如何将 OData 与 ASP.net Core 正确集成

我正在尝试使用OData和EntityFramework创建一个带有“简单”WebAPI的新ASP.NETCore项目。我以前曾将OData与旧版本的ASP.NET一起使用。我已经设置了一个只有一个简单的get函数的Controller。我已经设法让它与基本的OData命令一起工作,如过滤器和顶部,但我无法使扩展命令工作。我认为这是因为我不太清楚如何在Startup.cs中设置它。我已经尝试了很多东西,包括从Github获取一些odata示例:https://github.com/OData/WebApi/tree/vNext/vNext/samples/ODataSample.Web

c# - 使用 $expand 时的 Web API OData 媒体类型格式化程序

我正在尝试创建一个MediaTypeFormatter处理text/csv但在使用$expand时遇到了一些问题在OData查询中。查询:http://localhost/RestBlog/api/Blogs/121?$expand=CommentsController:[EnableQuery]publicIQueryableGetBlog(intid){returnDbCtx.Blog.Where(x=>x.blogID==id);}在我的媒体类型格式化程序中:privatestaticMethodInfo_createStreamWriter=typeof(CsvFormatte

c# - Web API OData V3 `$inlinecount` 失败

我在ASP.NETWebAPI应用程序中使用开箱即用的ValuesControllerpublicclassValuesController:ApiController{//GETapi/values[Queryable(PageSize=1)]publicIQueryableGet(){returnnewstring[]{"value1","value2","value3","value4","value5"}.AsQueryable();}}当我获取http://localhost/api/values?$inlinecount=allpages这是回应value1我已取消注释co

c# - 带有 ServiceStack 的 OData?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭3年前。Improvethisquestion我刚看到ServiceStack我正在考虑用它构建服务。是否可以使用服务堆栈提供OData提要,以便我能够公开IQueryable并

c# - OData 错误 : The query specified in the URI is not valid. 该属性不能在查询选项中使用

我正在尝试启动并运行OData端点,但我遇到了这个错误,即使是Google也没有太多可说的。我创建了一个EntityFrameworkEDMX上下文(首先是数据库),让设计人员从中生成2个模型。一切正常,除了$filter查询失败。我可以做到这一点:http://localhost:27164/Projects(6587660)它检索主ID为6587660的项目。但是任何$filter请求都是这样的:http://localhost:27164/Projects?$filter=ProjectIDeq6587660将失败并出现以下错误:ThequeryspecifiedintheURI

c# - 每个实体的 Web API OData 安全性

背景:我有一个非常大的OData模型,目前正在使用WCF数据服务(OData)来公开它。但是,Microsoft声明WCF数据服务是dead并且WebAPIOData是他们的发展方向。所以我正在研究让WebAPIOData和WCF数据服务一起工作的方法。问题设置:模型的某些部分不需要保护,但有些部分需要保护。例如,客户列表需要安全性来限制谁可以阅读它,但我还有其他列表,例如产品列表,任何人都可以查看。Customers实体有许多可以访问它的关联。如果算上2+级关联,则可以通过数百种方式联系客户(通过关联)。例如Prodcuts.First().Orders.First().Custom

json - 如何从 ODATA 返回 json 格式?

我知道ODATA可以返回json,但不确定是否必须使用属性或接口(interface)才能这样做。我希望它像http://odata.netflix.com/Catalog/Titles那样做?$format=JSON但我的odata服务不返回JSON。当我像www.foo.com/service?$format=json一样调用它时,它只返回XML。我需要做什么才能返回带有ODATA的json? 最佳答案 下载并安装Fiddler。http://www.fiddler2.com/fiddler2/安装后,打开它,点击位于Fiddl

武装你的WEBAPI-OData聚合查询

本文属于OData系列目录武装你的WEBAPI-OData入门武装你的WEBAPI-OData便捷查询武装你的WEBAPI-OData分页查询武装你的WEBAPI-OData资源更新Delta武装你的WEBAPI-OData之EDM武装你的WEBAPI-OData常见问题武装你的WEBAPI-OData使用Endpoint武装你的WEBAPI-OData聚合查询ODATAv4提出了新的聚合查询功能,这对于ODATA的基本查询能力($expand等)是一个非常大的补充。ODATA支持的聚合查询功能,可以对数据进行统计分析,例如求和、平均值、最大/最小值、分组等。聚合查询是通过$apply关键字实