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

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

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


У меня есть три типа, производные от одного базового класса: BaseEvent.
Я отображаю все три типа вместе в сетке данных в своем интерфейсе. Необходимо сохранять информацию о том, какого типа каждый элемент, чтобы я мог привести его к соответствующему типу при обработке во внешнем интерфейсе.
Я работал, преобразовывая каждый набор в список, но мне бы хотелось вместо этого вернуть IQueryable, чтобы его можно было более эффективно фильтровать.

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

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());

}
Это возвращает ошибку времени выполнения.

Выражение типа 'System.Linq.IQueryable

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

1[BaseEvent.Model.Freestyle]' cannot be used for parameter of type 'System.Linq.IQueryable
1[BaseEvent.Model.Workshop]» метода «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 Ответы
    18 Просмотры
    Последнее сообщение Гость
  • Объединить два IQueryables с анонимными типами?
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Объединение производных, взятых по одной и той же переменной.
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как подавить предупреждение для всех производных типов?
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Подсказки типов и проверка типов для пользовательских типов IntEnum
    Anonymous » » в форуме Python
    0 Ответы
    71 Просмотры
    Последнее сообщение Anonymous

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