odata跳过顶部问题

问题描述 投票:0回答:1

我根据文档实现了Abp.OData。例如

http://localhost:21021/odata/regions?$count=true没有问题。它返回;

{"result":[{"id":1,"name":"Gebze"},{"id":2,"name":"Ankara"},{"id":3,"name":"Bursa"}],"targetUrl":null,"success":true,"error":null,"unAuthorizedRequest":false,"__abp":true}

http://localhost:21021/odata/regions?$ count = true&$ skip = 0&$ top = 12不起作用。

它返回;

{"result":null,"targetUrl":null,"success":false,"error":{"code":0,"message":"Sayfa işlenirken sunucu tarafında beklenmedik bir hata oluştu!","details":null,"validationErrors":null},"unAuthorizedRequest":false,"__abp":true}

我的启动文件是:


我的oData控制器是:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Abp.AspNetCore.OData.Controllers;
using Abp.Dependency;
using Abp.Domain.Repositories;
using Microsoft.AspNet.OData;
using TSE.Merkez.KalIsteks;

namespace TSE.Merkez.Web.Host.Controllers
{
    [EnableQuery]
    public class RegionsController : AbpODataEntityController<Region.Region>, ITransientDependency
    {
        public RegionsController(IRepository<Region.Region> repository) : base(repository)
        {
        }
        //[EnableQuery]
        //public override IQueryable<Region.Region> Get()
        //{

        //    return base.Get();
        //}
    }
}

我收到如下错误消息

ERROR 2019-02-25 12:10:21,218 [10] Mvc.ExceptionHandling.AbpExceptionFilter - 没有调用工作单元的Complete方法。 Abp.AbpException:没有调用一个工作单元的Complete方法。在Abp.Domain.Uow.InnerUnitOfWorkCompleteHandle.Dispose()at Abp.AspNetCore.Mvc.Uow.AbpUowActionFilter.d__4.MoveNext()---从抛出异常的上一个位置的堆栈跟踪结束---在System.Runtime。 CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)位于System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务),位于System.Runtime.CompilerServices.TaskAwaiter.GetResult(),位于Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__10.MoveNext( )---来自抛出异常的先前位置的堆栈跟踪结束---在Microsoft.AspNetCore上的Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)中的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()处.Mvc.Internal.ControllerActionInvoker.Next(State&next,Scope&scope,Object&state,Boolean&isCompleted)at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__13.MoveNext()---来自上一个loca的堆栈跟踪结束抛出异常的地方---在System.Runtime.CompilerServices.Throw上的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务),System.Runtime.CompilerServices.TaskAwaiter.GetResult()上的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)

你有什么主意吗?我哪里出错了?提前致谢..

odata aspnetboilerplate
1个回答
0
投票

好。问题解决了。这是因为没有正确构建实体。我强制abp构造了一个带有额外Id属性的实体,该属性来自我的旧表。但是,为ABP框架保留的实体中的Id列。我不应该强迫框架使用我的旧Id属性。我已将旧的Id数据转移到实体中的另一列并解决了问题。问候。

© www.soinside.com 2019 - 2024. All rights reserved.