我有一個問題,我不確定最佳解決方法。而我的「解決方案」正在導致非常複雜的代碼。C#:比較具有相同屬性的不同對象集
例如:我的數據模型有沙發和蘋果。 Sofa類和Apple類都有一個IsFavorite屬性和一個FavoriteChange日期。我有我使用像這樣的一個服務:
List<Apple> top25FavApples = _appleService.FindFavorites(25);
List<Sofa> top25FavSofas = _sofaService.FindFavorites(25);
現在,我有我的蘋果和沙發被收藏,我需要聚集的集合,排序FavoriteChangeDate,然後限制到前25名。這是我卡住了。
可能的解決方案:創建一箇中介類來容納Apple/Sofa和FavoriteDate。在中間對象的集合上執行選擇,然後運行另一個查詢以自行取回蘋果和沙發。
你可以讓Apple和Sofa繼承一個'IFavoratable'接口。 – Abion47