Tengo un objeto entidad 'Usuario' que implementa 'IUser':¿Cuál es la mejor forma de convertir cada elemento en una consulta de LINQ a Entidades a una interfaz?
IQueryable<User> users = Db.User;
return users;
Pero lo que realmente quiero volver es:
IQueryable<IUser>
Entonces, ¿cuál es la mejor manera de convertir
IQueryable<User>
a
IQueryable<IUser>
sin ejecutar realmente la consulta? En este momento estoy haciendo esto, pero parece un truco:
IQueryable<IUser> users = Db.User.Select<User, IUser>(u => u);
Craig Stuntz es correcto: L2E no es compatible con el método Cast. Si falla con: "No se puede convertir el tipo 'MyType' para escribir 'MySubTypet'. LINQ to Entities solo admite el moldeado de tipos primitivos de Entity Data Model.". Eliminé mi respuesta ya que no proporcionaba ningún valor. –
¿No está ansioso de cargar los resultados? no obtiene toda la tabla cuando para cada parte de la consulta? – Maslow
¿Qué versión de .NET? En .NET 4 debería poder asignar cualquier IQueryable a una variable de tipo IQueryable sin la necesidad de un molde de todas las entradas es la lista ... –
jessehouwing