如何将实体框架查询结果放入List中

时间:2012-01-10 03:18:10

标签: c# entity-framework c#-4.0

如何将以下查询结果放入List

var  result = from c in sb.Swithches_SW_PanalComponents
                     select new { c.ID,c.SW_PanalComponents.ComponentsName,c.ComponentValue };

3 个答案:

答案 0 :(得分:6)

最终编辑

根据您的上一条评论,这就是您所需要的一切

List<Swithches_SW_PanalComponents> result = 
                                  sb.Swithches_SW_PanalComponents.ToList();

当然与

相同
var result = sb.Swithches_SW_PanalComponents.ToList();

修改

根据您的评论,我认为这就是您想要的:

List<SW_PanalComponents> result = sb.Swithches_SW_PanalComponents
                  .Select(c => new SW_PanalComponents { /* initialize your fields */ })
                  .ToList();

结束编辑

ToList方法就是您想要的。但请考虑使用点符号。对于像这样的简单查询,它更干净,更整洁。

var result = sb.Swithches_SW_PanalComponents
                  .Select(c => new { c.ID, c.SW_PanalComponents.ComponentsName, c.ComponentValue })
                  .ToList();

另请注意,如果您只是尝试立即执行查询,只需要对其进行枚举,您也可以调用AsEnumerable()

var result = sb.Swithches_SW_PanalComponents
                  .Select(c => new { c.ID, c.SW_PanalComponents.ComponentsName, c.ComponentValue })
                  .AsEnumerable();

这里的优点是结果是一种不太具体的类型 - IEnumerablt<T>

答案 1 :(得分:4)

像这样:

var  result =(from c in sb.Swithches_SW_PanalComponents
                     select new 
                     { c.ID,
                       c.SW_PanalComponents.ComponentsName,
                       c.ComponentValue 
                     }).ToList();

答案 2 :(得分:0)

我最终得到的是:

  List<Swithches_SW_PanalComponents> MyList = new List<Swithches_SW_PanalComponents>();
        var Result = from all in sb.Swithches_SW_PanalComponents
                     select all
                     ;
        MyList.AddRange(Result.ToList<Swithches_SW_PanalComponents>());