草庐IT

c# - 使用 WebApi ( $inlinecount ) 的 OData 分页

我正在使用OData对从WebAPI调用返回的一长串项目进行分页。我可以通过具有开始和结束索引的url过滤数据。我的问题是,我怎么知道项目的总数?因此,我可以在调用WebAPI的移动设备上显示第1页,共3页(20项)。 最佳答案 试试这个方法:http://www.strathweb.com/2012/08/supporting-odata-inlinecount-with-the-new-web-api-odata-preview-package/它使用最新的WebAPIOData包。在交付最终的WebAPIOData包之前(今年

c# - OAuth2.0如何与OData Client Code Generator集成?

我开发了一个实现OAuth2.0和OData的WebApi。现在我正在创建一个客户端来测试我到目前为止实现的内容。我已经使用OData客户端代码生成器生成了OData模板,但如何在OData请求中引入去访问token?知道如何扩展OData模板以引入OAuth2.0方案吗?或者更简单的方法,我如何在每个OData请求中引入OAuth访问token?更新staticvoidMain(string[]args){varcontainer=newDefault.Container(newUri(baseurl));TokenResponseaccessToken=null;try{acces

c# - 在 OData 中提供 DateTime 值

我目前正在编写一个特殊的客户端应用程序,以允许我们的单元测试使用OData接口(interface),该接口(interface)使用XML结构作为原子源。一切似乎都正常工作,但当我需要将DateTime值作为属性传递时,我遇到了麻烦。我编写了以下代码,从对象的属性中提取DateTime值并以特定格式存储它:privatestaticvoidGenerateProperty(StringBuilderxml,Tobj,PropertyInfoinfo){//Extracttheinformationaboutthepropertyifitcontainsavalue.if(info.G

c# - Odata 未找到 NavigationLink 工厂

我目前正在开发一个mvc4webapiodata服务,我想在其中返回一个用户列表,其中用户有一个语言列表。当我想要获取用户时,出现以下错误:错误:The'ObjectContent`1'typefailedtoserializetheresponsebodyforcontenttype'application/json;charset=utf-8'.System.InvalidOperationExceptionNoNavigationLinkfactorywasfoundforthenavigationproperty'Languages'fromentitytype'MvcWebR

c# - OData 和 WebAPI : Navigation property not present on model

我正在尝试使用EntityFramework、WebAPI、OData和Angular客户端组合一个简单的玩具项目。一切正常,除了我在其中一个模型上放置的导航属性似乎不起作用。当我使用$expand调用我的API时,返回的实体没有它们的导航属性。我的类是Dog和Owner,看起来像这样:publicclassDog{//Properties[Key]publicGuidId{get;set;}publicStringName{get;set;}[Required]publicDogBreedBreed{get;set;}publicintAge{get;set;}publicintWe

c# - ASP.NET Odata Web API 的错误处理

我很想知道在ODataController中引发异常所遵循的最佳实践是什么。如果您在方法中引发异常,默认情况下它会转换为响应代码500,并且内容包含有关错误的详细信息。我想明确响应代码,并在key无效的情况下发送400。例如:如果输入请求有一个无效的键想返回400的HttpResponseCode并且内容应该有类似于引发异常的错误详细信息。非常感谢您的意见 最佳答案 OData(至少从v3开始)使用specificjson表示错误:{"error":{"code":"Acustomerrorcode","message":{"lan

c# - 如何将针对 DTO 的 OData 查询映射到另一个实体?

我的问题与这个非常相似:HowdoImapanODataqueryagainstaDTOtoanEFentity?我有一个简单的设置来测试ASP.NETWebAPIODataV4$filter功能。我想做的是“别名”ProductDTO的一些属性以匹配Product实体的属性。例如,用户将使用以下请求调用ProductsController:GETproducts?$filter=DisplayNameeq‘test’产品类:publicclassProduct{publicintId{get;set;}publicstringName{get;set;}publicintLevel{

c# - 对 DTO 的 ASP.NET WebApi OData 支持

我有项目实体和ProjectDTO。我正在尝试创建一个WebAPIController方法,该方法可以获取和返回ProjectDTO并使其支持OData。问题是我使用的ORM可以使用项目实体而不是项目DTO查询数据库。有什么方法可以将基于ProjectDTO的OData的过滤/排序/分页应用于项目实体查询?publicODataQueryResultGetProjects(ODataQueryOptionsquery){varcontext=newORM_Context();varprojects=context.Projects;//IQueryablevarprojectDtos=

c# - 如何为 Visual Studio 2017 生成 odata v4 c# 代理客户端?

我在哪里可以获得VisualStudio2017的odatav4c#代理生成器?现有的仅适用于2015年。 最佳答案 “ODataConnectedService”扩展现在支持VS2017。安装它并添加您的引用:ServiceRefernces-->AddConnectedService-->ODataConnectedService 关于c#-如何为VisualStudio2017生成odatav4c#代理客户端?,我们在StackOverflow上找到一个类似的问题:

c# - Web Api 2.2 OData V4 函数路由

我有一个使用ODatav4的WebApi2.2项目。正常的EntitySet配置对所有http谓词都按预期工作。我遇到问题的地方是试图公开一个自定义函数。我开始尝试做一些与标准示例不同的事情,但我一直支持直到尝试让基本示例函数正常工作。这是我的启动配置(直接来自MS示例):usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web.Http;usingSystem.Web.OData.Builder;usingSystem.Web.OData.Extensions;namespaceTest.