Объединение IQueryables производных типовC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Объединение IQueryables производных типов

Сообщение Гость »


I have three types that derive from the same base class: BaseEvent.
I display all three types together in a datagrid in my frontend. Need to maintain each items knowledge of what type it is so that I can cast it to the appropriate type when handling it in the front end.
I had it working by converting each set to a list, but I'd like to return IQueryable instead so that it can be more efficiently filtered.

Код: Выделить всё

public override IQueryable GetAllItems()
{

var freestyleEvents = _context.Set()
.Include(ev => ev.Venue)
.Include(ev => ev.EventImage)
.Include(ev => ev.BookingOption)
.Include(ev => ev.Business)
.Include(ev => ev.Tickets!).ThenInclude(ticket => ticket.TicketOption);

var workshopEvents = _context.Set()
.Include(ev => ev.Venue)
.Include(ev => ev.EventImage)
.Include(ev => ev.BookingOption)
.Include(ev => ev.Business)
.Include(ev => ev.Tickets!).ThenInclude(ticket => ticket.TicketOption);

var classNightEvents = _context.Set()
.Include(ev => ev.Venue)
.Include(ev => ev.EventImage)
.Include(ev => ev.BookingOption)
.Include(ev => ev.Business)
.Include(ev => ev.Tickets!).ThenInclude(ticket => ticket.TicketOption);

return freestyleEvents.OfType().Concat(workshopEvents.OfType()).Concat(classNightEvents.OfType());

}
This returns a runtime error

Код: Выделить всё

Expression of type 'System.Linq.IQueryable`1[BaseEvent.Model.Freestyle]' cannot be used for parameter of type 'System.Linq.IQueryable`1[BaseEvent.Model.Workshop]' of method 'System.Linq.IQueryable`1[BaseEvent.Model.Workshop] Concat[Workshop](System.Linq.IQueryable`1[BaseEvent.Model.Workshop], System.Collections.Generic.IEnumerable`1[BaseEvent.Model.Workshop])'
How can I write this so it works?


Источник: https://stackoverflow.com/questions/781 ... ived-types
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Объединение IQueryables производных типов
    Гость » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Гость
  • Объединить два IQueryables с анонимными типами?
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Объединение производных, взятых по одной и той же переменной.
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как подавить предупреждение для всех производных типов?
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Подсказки типов и проверка типов для пользовательских типов IntEnum
    Anonymous » » в форуме Python
    0 Ответы
    71 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»