4 linq
我想我错过了一些非常基本的东西.
var signatures=from person in db.People
where person.Active==true
select new{person.ID, person.Lname, person.Fname};
Run Code Online (Sandbox Code Playgroud)
这个linq查询有效,但我不知道如何将结果作为类的公共方法返回.
示例似乎总是显示返回整个实体(如IQueryable <People>),但在这种情况下,我只想返回SomeKindOfList <int, string, string> 的子集.由于我不能使用var,我该怎么用?
谢谢!
您可以从linq查询中获取具体类型,但在您的情况下,您正在使用构造匿名类型
select new{person.ID, person.Lname, person.Fname};
Run Code Online (Sandbox Code Playgroud)
相反,如果您编写了一个名为"Person"的类,并执行了以下操作:
select new Person(peson.ID, person.Lname, person.Fname);
Run Code Online (Sandbox Code Playgroud)
您的linq结果(签名)可以是类型IEnumerable<Person>,这是您可以从函数返回的类型.
例:
IEnumerable<Person> signatures = from person in db.People
where person.Active==true
select new Person(person.ID, person.Lname, person.Fname);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3346 次 |
| 最近记录: |