Obfuscated Scenario. У человека есть ноль, один или несколько домашних животных.
Используя Linq to Sql, необходимо получить список IQueryable
для домашних животных для данного человека.
Здесь плохо искалеченная/замученная/обфускационная часть ERD:
Код:
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
}
Исключение:
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?)
Неудачные попытки:
Прямое кастинг не сработал: (IQueryable<MyType>)
Вызов метода сбора AsQueryable
не работал: .AsQueryable<MyType>()
Вопрос
Как вы можете правильно отнести результаты запроса LinqToSql к IQueryable
?