Результаты Linq в IEnumerable в ViewModel в контроллере MVC - PullRequest
1 голос
/ 09 мая 2019

Я пытаюсь поместить результаты запроса linq в модель представления, но получаю сообщение об ошибке.Запрос Linq возвращает несколько результатов рейтинга.Я хотел бы поместить эти несколько результатов рейтинга в IEnumerable.

Error:  Cannot implicitly convert type Models.CustomerRating' to 'System.Collections.Generic.IEnumerable<Models.CustomerRating>'. An explicit conversion exists (are you missing a cast?)   

Linq Query

var data = from profile in _context.Customers
                       join rating in _context.CustomerRating
                       on profile.strUserID equals rating.strUserID into rt
                       from subrating in rt.DefaultIfEmpty()
                       where profile.strUserID == UserId
                       select new { p = profile, r = subrating };

My View Model:

  public class ServiceProvider
    {
        public CustomerProfile Customer { get; set; }

        public IEnumerable<CustomerProfile> CustomerProfiles { get; set; }
        public CustomerServices CustomerServices { get; set; }

        public FilterServicesViewModel FilterServices { get; set; }

        public CustomerRating Rating { get; set; }

        public IEnumerable<CustomerRating> CustomerRating { get; set; }
    }

Я хотел бырезультаты профиля, которые будут добавлены к Клиенту и подчинены CustomerRating IEnumberable.Я пробовал следующее, но я получаю сообщение об ошибке:

  foreach (var v in data)
            {
                serviceProviderViewModel.Customer = v.p;
                serviceProviderViewModel.CustomerRating = v.r;
            }

1 Ответ

1 голос
/ 09 мая 2019

Создайте новый список, прокрутите результаты запроса linq и добавьте его в этот список

    List<CustomerRating> RatingList = new List<CustomerRating>();
            foreach (var v in data)
            {
                serviceProviderViewModel.Customer = v.p;
                RatingList.Add(v.r); 
            }
            serviceProviderViewModel.CustomerRating = RatingList;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...