Не удается неявно преобразовать тип “string”

150
21 февраля 2019, 16:40

Был простенький запрос на извлечение списка по убыванию из базы с пагинацией на странице:

public async Task<IActionResult> Online(string name, int page = 1)
        {
            int pageSize = 30;   // количество элементов на странице                            
            IQueryable<Chr> source = from c in db.Chr
                                           orderby c.RCount, c.Level
                                           select new Chr()
                                           {
                                               Name = c.Name,
                                           };
            if (!String.IsNullOrEmpty(name))
            {
                source = source.Where(p => p.Name.Contains(name));
            }
            var count = await source.CountAsync();
            var items = await source.Skip((page - 1) * pageSize).Take(pageSize).ToListAsync();
            // формируем модель представления
            IndexViewModel model = new IndexViewModel
            {
                PageViewModel = new PageViewModel(count, page, pageSize),
                FilterViewModel = new FilterViewModel(db.Chr.ToList(), name),
                Chr = items
            };
            return View(model);
        }

IndexViewModel:

public class IndexViewModel
    {
        public IEnumerable<Chr> Chr { get; set; }           
        public PageViewModel PageViewModel { get; set; }
        public FilterViewModel FilterViewModel { get; set; }       
    }

Недавно понадобилось взять ещё одну таблицу из базы. Что сделал я:

public async Task<IActionResult> Online(string name, int page = 1)
        {
            int pageSize = 30;   // количество элементов на странице                            
            IQueryable<Chr> source = from c in db.Chr
                                           join g in db.GMember
                                           on c.Name equals g.Name into gg
                                           from ggg in gg.DefaultIfEmpty()
                                           orderby c.RCount, c.Level
                                           select new IndexViewModel()
                                       {
                                           Chr = c.Name,
                                           GMember = ggg.G_Name
                                       };

            if (!String.IsNullOrEmpty(name))
            {
                source = source.Where(p => p.Name.Contains(name));
            }
            var count = await source.CountAsync();
            var items = await source.Skip((page - 1) * pageSize).Take(pageSize).ToListAsync();
            // формируем модель представления
            IndexViewModel model = new IndexViewModel
            {
                PageViewModel = new PageViewModel(count, page, pageSize),
                FilterViewModel = new FilterViewModel(db.Chr.ToList(), name),
                Chr = items
            };
            return View(model);
        }

В итоге я получаю 2 ошибки:

Не удается неявно преобразовать тип "string" в "System.Collections.Generic.IEnumerable<Web.Models.DataBase.Chr>"
Не удается неявно преобразовать тип "string" в "System.Collections.Generic.IEnumerable<Web.Models.GMember>"

Подскажите пожалуйста, что я сделал не правильно.

READ ALSO
Как использовать InvokeRequired, BeginInvoke в классе?

Как использовать InvokeRequired, BeginInvoke в классе?

Сделал приложение, которое собирает данные репозитариев с githubcom

145
Позиционирование текста в ToolStripMenuItem

Позиционирование текста в ToolStripMenuItem

Я задал первому елементу меню висоту 60 и textalign = MiddleCenter Но елемент просто игнорит свойство

149
Обработка нескольких IndexOutOfRangeException

Обработка нескольких IndexOutOfRangeException

Ситуация: В методе происходит парсинг данных:

173
C# работа с созданным cmd процессом

C# работа с созданным cmd процессом

Всем привет ! В питоне есть такая штука как subprocess и создавая его можно заставить программу писать в консоль и читать результат из консолиТ...

170