我想我错过了一些非常基本的东西。
var signatures=from person in db.People
where person.Active==true
select new{person.ID, person.Lname, person.Fname};
这个linq查询有效,但我不知道如何将结果作为类的公共方法返回。
示例总是显示返回整个实体(如IQueryable <People
&gt;),但在这种情况下,我只想返回SomeKindOfList <int, string, string
&gt;的子集。由于我不能使用var,我该怎么用?
谢谢!
答案 0 :(得分:5)
您可以从linq查询中获取具体类型,但在您的情况下,您使用
构建匿名类型select new{person.ID, person.Lname, person.Fname};
相反,如果您编写了一个名为“Person”的类,并执行了此操作:
select new Person(peson.ID, person.Lname, person.Fname);
您的linq结果(签名)可以是IEnumerable<Person>
类型,这是您可以从函数返回的类型。
示例:
IEnumerable<Person> signatures = from person in db.People
where person.Active==true
select new Person(person.ID, person.Lname, person.Fname);