首页 新闻 搜索 专区 学院

linq语句查询数据表,查询结果为list集合,如何提取其中某些字段的值并存在新的list集合中?

0
[已解决问题] 解决于 2017-03-15 19:44

linq语句查询数据表,查询结果为list集合,

var q = (from c in entities.tb_PI
select c).ToList();

假如需要提取的字段名为ID和Name。

如何提取其中这两个字段的值并存在新的list集合中?

问题补充:

var q = (from c in entities.tb_PI

        select new { ID = c.ID, Name = c.Name }).ToList();//查询结果存放在匿名对象中

List<tb_PI> list = q.Select(qq => new tb_PI() { ID = qq.ID, Name = qq.Name  ).ToList();


return list;//将匿名对象中的数据转化成list类型

这样返回的list集合list包含了所有的字段,只需要ID以及Name,并且这两个字段都有值,其他的字段没有值,但是不需要。

1sa2sa的主页 1sa2sa | 菜鸟二级 | 园豆:289
提问于:2017-03-12 23:38
< >
分享
最佳答案
0

如果要存在于真实的对象中,则新建一个类d,d中只有你说的Id,Name。

var q=(from c in entites.tb_PI select new d{ID=c.ID,Name=c.Name}).ToList();

奖励园豆:5
龙行天涯 | 小虾三级 |园豆:1840 | 2017-03-13 08:52
其他回答(2)
0

List<Tuple<int,string>> q = (from c in entities.tb_PI select Tuple<int,string>.Create(c.ID,c.Name)).ToList();

jello chen | 园豆:7101 (大侠五级) | 2017-03-12 23:51
0

var q = (from c in entities.tb_PI select new { ID = c.ID, Name = c.Name }).ToList();

就是这样啊 

liuxb1991 | 园豆:661 (小虾三级) | 2017-03-13 08:21

这样返回的q类型不是List<tb_PI>类型。

支持(0) 反对(0) 1sa2sa | 园豆:289 (菜鸟二级) | 2017-03-13 08:58

@1sa2sa: tb_PI包含其他属性  做不到你说的那样。你只要2个字段就用匿名对象或新建一个实体类

public class xx{

public string Id{get;set;}

public string Name{get;set}

}

支持(0) 反对(0) liuxb1991 | 园豆:661 (小虾三级) | 2017-03-13 09:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册