1

我正在将我的应用程序代码从.Net5 MVC/JQuery ASPNETZERO 模板移动到新的.Net core 1.1 MVC/JQuery 模板。到目前为止,我已经复制了我最初的几个自定义实体。创建了一个 EF 迁移并将更改应用到我的数据库。然后我开始为我的一个实体构建第一个应用服务。我正在从我现有的 MVC 模板中复制代码,该模板可以正常工作。

      public async Task<PagedResultDto<ListValuesListDto>> GetListValues(GetListValuesInput input)
    {
        var query = from lv in _listvaluesRepository2.GetAll()
                    select new ListValuesListDto
                    {
                        Id = lv.Id,
                         ListName = lv.ListName,
                         ListText = lv.ListText
                    };
        query = query.WhereIf(!input.Filter.IsNullOrWhiteSpace(), lv => lv.ListName.Contains(input.Filter) || lv.ListText.Contains(input.Filter));
        var resultCount = await query.CountAsync();
        var results = await query.OrderBy(input.Sorting).PageBy(input).ToListAsync();
        return new PagedResultDto<ListValuesListDto>(resultCount, results);
    }

上面的方法来自我的 MVC 模板。当我将它放入 .Net 核心解决方案时,我不断收到以下构建错误。

CS0411 无法从用法中推断方法“Enumerable.OrderBy(IEnumerable, Func)”的类型参数。尝试明确指定类型参数

错误指向这行代码中的“OrderBy”:

      var results = await query.OrderBy(input.Sorting).PageBy(input).ToListAsync();

我仍然在学习 ABP 模板和 EF。我一生都无法弄清楚为什么 .Net 核心模板中的相同代码不起作用?

任何人都可以提供的任何帮助将不胜感激!

4

1 回答 1

4

我刚刚解决了我自己的问题。我必须添加 using 语句System.Linq.Dynamic.Core

希望它可以帮助别人!:-)

于 2017-07-08T23:08:31.620 回答