Próbuję połączyć (zjednoczenie lub concat) dwie listy/kolekcje w jedną. Te dwie listy mają wspólną klasę podstawową. na przykład Próbowałem to:Jak połączyć 2different IQueryable/List/Collection z tą samą klasą bazową? Problemy z Union i Covariance LINQ
IQueryable<ContractItem> contractItems = myRepository.RetrieveContractItems();
IQueryable<ChangeOrderItem> changeOrderItems = myRepository.RetrieveChangeOrderItems();
IQueryable<ItemBase> folderItems = contractItems.Concat<ItemBase>(changeOrderItems);
Ale otrzymuję LINQ błąd DbUnionAllExpression wymaga argumentów z kompatybilnymi ResultTypes zbiórki.
Ktoś wie, jak to zrobić właściwie? Jedyne, co mogłem znaleźć w Google to kolejne pytanie związane z StackOverflow: LINQ Union objects with same Base Class
Dzięki.
Dziękuję za bardzo szybką odpowiedź. Próbowałem operatora obsady, ale otrzymuję ten błąd: Nie można rzutować ... LINQ do Entities obsługuje tylko podstawowe typy rzutowania Entity Data Model. "Wszelkie przemyślenia na ten temat? Dziękuję – Raymond
Możesz spróbować zastąpić' Cast' z 'OfType' Czy "ItemBase" jest prawdziwym typem jednostki Entity? –
Zaktualizowałem odpowiedź za pomocą podejścia LINQ-to-Objects, które z pewnością zadziała, jeśli nie będziemy w stanie uruchomić go za pośrednictwem LINQ-to-Entity –