Mam obiektu encji „User”, który implementuje „IUser”:Jaki jest najlepszy sposób na przesłanie każdego elementu w zapytaniu LINQ do Entities do interfejsu?
IQueryable<User> users = Db.User;
return users;
Ale co ja rzeczywiście chcę wrócić jest:
IQueryable<IUser>
Więc co jest najlepszym sposobem konwersji
IQueryable<User>
do
IQueryable<IUser>
bez faktycznego uruchomienia zapytania? Teraz robię to, ale wygląda na to, że hack:
IQueryable<IUser> users = Db.User.Select<User, IUser>(u => u);
Craig Stuntz jest poprawny: L2E nie obsługuje metody Cast. Jeśli nie powiedzie się z: "Nie można rzutować typu" MyType "na typ" MySubTypet. "LINQ to Entities obsługuje tylko podstawowe typy rzutowania Entity Data Model.". Usunąłem odpowiedź, ponieważ nie zapewnia ona żadnej wartości. –
Czy to nie chce załadować wyników? nie dostaje całej tabeli, gdy dla każdej części zapytania? – Maslow
Która wersja .NET? W .NET 4 powinieneś być w stanie przypisać dowolny IQueryable do zmiennej typu IQueryable bez potrzeby obsady wszystkich wpisów na liście ... –
jessehouwing