ofuscado Escenario: Una persona tiene cero, uno o muchos animales domésticos.No se puede convertir implícitamente el tipo IEnumerable <T> a IQueryable <T>
Utilizando Linq to Sql, la necesidad es obtener una lista de mascotas IQueryable
para el ID de persona dado. Aquí es la parte pobre mutilado/descuartizado/ofuscado de la ERD:
Código:
public IQueryable<Pet> GetPersonPets(int personID)
{
var personPets= from p in Person
where p.ID == somePersonID
select p.Pets;
return personPets; //fail
// return (IQueryable<Pet>)personPets //also fail
// return personPets.AsQueryable<Pet>() //also fail
}
excepción lanzada:
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable (System.Data.Linq.EntitySet(Pet))' to 'System.Linq.IQueryable(Pet)'. An explicit conversion exists (are you missing a cast?)
Error Att adelanta:
colada directa no funcionó: (IQueryable<MyType>)
Llamando al método de recogida AsQueryable
no funcionó: .AsQueryable<MyType>()
Pregunta:
Cómo se puede emitir los resultados de la LinqToSql consulta correctamente al IQueryable
?
Prefiero ¡Esta solución, funcionó muy bien para mí! –