我有以下模型:
public class Person
{
long Id;
string name;
}
public class Student : Person
{
string studentId;
}
public class Bus
{
long Id;
public ICollection<Person> riders {set; get;}
}
public class SchoolBus : Bus
{
long schoolBusNumber;
}我还有以下代码:
SchoolBus schoolBus = new SchoolBus();
schoolBus.riders = new List<Person>
{
new Student { name = "Jim" },
new Student { name = "Jane }
}
var query = from rider in SchoolBus.riders
select new
{
(rider as Student).studentId;
}Students和Person设置为单独的表,我使用的是DbContext。
我知道这不起作用的原因,但是有什么可能的解决方案让我使用Person集合来让它返回正确的studentId呢?
发布于 2012-03-07 05:19:25
试试这个:
var studentIds = rider.OfType<Student>().Select(x => x.studentId);发布于 2012-03-07 05:34:19
如果您的代码与您所显示的完全相同,这将会起作用:
新的SchoolBus = schoolBus SchoolBus();
schoolBus.riders = new List<Person>
{
new Student { name = "Jim" },
new Student { name = "Jane }
}
var query = from rider in SchoolBus.riders
select new
{
riderID = (rider as Student).studentId;
}但是如果你的查询是在linq2entity上运行的,你应该显示你的确切代码和你的问题。
https://stackoverflow.com/questions/9591980
复制相似问题