Я могу понять, что говорит ошибка - она не может сравнивать список. Не проблема, за исключением того факта, что я не знаю, как не сравнивать список, когда я хочу пролистать модель со списком в качестве свойства.
Моя модель:
Event : IEvent
int Id
string Title
// Other stuff..
LazyList<EventDate> Dates // The "problem" property
Метод, который страницы данных (усеченный):
public JsonResult JsonEventList(int skip, int take) {
var query = _eventService.GetEvents();
// Do some filtering, then page data..
query = query.Skip(skip).Take(take);
return Json(query.ToArray());
}
Как я уже сказал, вышесказанное довольно сильно усечено, оставляя только основной смысл функции: фильтр, страницу и возврат данных в формате JSON.
Исключение возникает при перечислении (.ToArray()
). Объект Event
действительно используется только для перечисления общих объектов всех типов событий (например, Встречи, Дни рождения и т. Д.). Он по-прежнему реализует IEvent
, как и другие типы, поэтому я не могу просто удалить свойство LazyList<EventDate> Dates
, если я больше не реализую IEvent
В любом случае, есть ли способ избежать этого? Я действительно не хочу сравнивать LazyList
при открытии страницы, но я не знаю, как решить эту проблему.
Заранее спасибо! :)