У меня проблема, что я не уверен в лучшем способе решения. И мои «решения» приводят к очень привлекательному коду.C#: Сравнить различные наборы объектов с тем же свойством
Пример: У моей модели данных есть диваны и яблоки. И класс Дивана, и класс Apple имеют свойство IsFavorite и дату FavoriteChange. У меня есть сервис, который я использую, как так:
List<Apple> top25FavApples = _appleService.FindFavorites(25);
List<Sofa> top25FavSofas = _sofaService.FindFavorites(25);
Теперь, когда у меня есть мои яблокам и диванам, которые Избраные, мне нужно агрегировать коллекции, орден от FavoriteChangeDate, а затем ограничить к началу 25. Здесь Я застреваю.
Возможное решение: создать промежуточный класс для хранения Apple/Sofa и FavoriteDate. Выполните выбор в коллекции промежуточных объектов, а затем запустите другой запрос, чтобы вернуть яблоки и диваны самостоятельно.
Вы можете заставить Apple и Sofa наследовать интерфейс 'IFavoratable'. – Abion47