none
新手linq的问题,匿名的实体,怎么放到泛型list里面 RRS feed

  • 问题

  • 同题。

    匿名的实体,怎么放到泛型list里面

    直接上代码

     public MainWindow()
        {
          InitializeComponent();
          NorthwindDataClassesDataContext northwindDB = new NorthwindDataClassesDataContext();
          var emplorees = from c in northwindDB.Employees
                  select c ;
          List<object> list = new List<object>();
          foreach (var item in emplorees)
          {
            var objModel = new
            {
              id = item.EmployeeID,
              name = item.FirstName + "." + item.LastName,
              Count = item.Orders.Count
            };
            list.Add(objModel);
          }
    
          // CreateChart(list);
        }
    

      List<object> list = new List<object>();
    这里感觉很奇怪,虽然现在结果是正确的,但是下面没有办法循环,因为这个list是一个object的,

     

    麻烦给位高手指点、

    2011年6月13日 8:31

答案

  • 不用这么麻烦。看下面的代码。

    var myEmployees = (from employee in context.Employees select employee).ToList();

    或者

    var myEmployees = context.Employees.Select(e => e).ToList();

    您的代码也不算匿名类型啊,可以把 var 换成 IEnumerable<Employee>。


    Mark Zhou
    • 取消答案标记 wpf001 2011年6月13日 14:32
    • 已标记为答案 wpf001 2011年6月13日 14:32
    2011年6月13日 10:20
  • public MainWindow()
        {
          InitializeComponent();
          NorthwindDataClassesDataContext northwindDB = new NorthwindDataClassesDataContext();
          var emplorees = from c in northwindDB.Employees
                  select new{
    id = c.EmployeeID,
              name = c.FirstName + "." + c.LastName,
              Count = c.Orders.Count
    }; 
           
        }
    我强烈建议你新建一个临时类 来为后边循环做准备

    Best Regards,
    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    • 已标记为答案 wpf001 2011年6月13日 14:31
    2011年6月13日 11:34

全部回复

  • 不用这么麻烦。看下面的代码。

    var myEmployees = (from employee in context.Employees select employee).ToList();

    或者

    var myEmployees = context.Employees.Select(e => e).ToList();

    您的代码也不算匿名类型啊,可以把 var 换成 IEnumerable<Employee>。


    Mark Zhou
    • 取消答案标记 wpf001 2011年6月13日 14:32
    • 已标记为答案 wpf001 2011年6月13日 14:32
    2011年6月13日 10:20
  • public MainWindow()
        {
          InitializeComponent();
          NorthwindDataClassesDataContext northwindDB = new NorthwindDataClassesDataContext();
          var emplorees = from c in northwindDB.Employees
                  select new{
    id = c.EmployeeID,
              name = c.FirstName + "." + c.LastName,
              Count = c.Orders.Count
    }; 
           
        }
    我强烈建议你新建一个临时类 来为后边循环做准备

    Best Regards,
    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    • 已标记为答案 wpf001 2011年6月13日 14:31
    2011年6月13日 11:34
  • 哦,谢谢,两位

    2011年6月13日 14:31