System.Linq.Dynamic.Core не работает аналогично версии .Net MVC 5 - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь реализовать System.Linq.Dynamic.Core в моих функциях OrderBy.По какой-то причине при выдаче этой ошибки

«Список» не содержит определения для «OrderBy» и лучшая перегрузка метода расширения «DynamicQueryableExtensions.OrderBy (IQueryable, string, params object [])» требуетполучатель типа 'IQueryable'

List<UsersListViewModel> data = (from user in dbContext.Users
 select new UsersListViewModel
 {
     Id = user.Id,
     Name = user.FirstName + " " + user.LastName,
     UserName = user.UserName,
     Email = user.Email,
     PhoneNumber = user.PhoneNumber
 }).ToList();

 if (!(string.IsNullOrEmpty(Input.Order) && string.IsNullOrEmpty(Input.OrderDir)))
{
    var columnName = modelStructure.FirstOrDefault(f => f.Key == Convert.ToInt32(Input.Order));
    data = data.OrderBy(columnName.Value + " " + Input.OrderDir).ToList();
}

OrderBy не позволяет компилировать мой код.В моем другом приложении ASP.NET MVC 5 добавление System.Linq.Dynamic будет работать.

1 Ответ

0 голосов
/ 28 сентября 2018

Вы должны преобразовать данные в IQueryable:

using System.Linq.Dynamic.Core;

    List<UsersListViewModel> data = (from user in dbContext.Users
     select new UsersListViewModel
     {
         Id = user.Id,
         Name = user.FirstName + " " + user.LastName,
         UserName = user.UserName,
         Email = user.Email,
         PhoneNumber = user.PhoneNumber
     }).ToList();

     if (!(string.IsNullOrEmpty(Input.Order) && string.IsNullOrEmpty(Input.OrderDir)))
    {
        var columnName = modelStructure.FirstOrDefault(f => f.Key == Convert.ToInt32(Input.Order));
        data = data.OrderBy(columnName.Value + " " + Input.OrderDir).ToList();
    }

     if (!(string.IsNullOrEmpty(Input.Order) && string.IsNullOrEmpty(Input.OrderDir)))
    {
        var columnName = modelStructure.FirstOrDefault(f => f.Key == Convert.ToInt32(Input.Order));
        data = data.AsQueryable().OrderBy(x=> x.).ToList();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...