一个人有零、一只或多只宠物。
使用Linq到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?)
失败尝试:
Direct casting didn't work: (IQueryable<MyType>)
Calling collection method AsQueryable
didn't work: .AsQueryable<MyType>()
问题:
如何正确地将LinqToSql查询的结果转换为IQueryable
?
发布于 2018-01-26 09:15:47
IQueryable<Pet> personPets = (
from p in db.Person
where p.ID == somePersonID
select p
).Single().Pets.AsQueryable();
虽然我可能会用这种方式编写它:
var personPets =
db.Person.Single(t => t.Id == somePersonId).Pets.AsQueryable();
发布于 2018-01-26 09:49:46
List<Pet> personPets =
(from p in Persons
where p.ID == somePersonID
select p.Pets).ToList();
https://stackoverflow.com/questions/-100007239
复制相似问题