1

使用 EF4,我试图想出一种将数据从实体聚合到业务对象的更智能的方法,即连接 linq 以将数据直接传递到我的 BE,从而节省了在 linq 之后从 IEnumerable 复制的步骤。我一直在尝试使用以下内容,但似乎无法正确使用语法。CustomerBE 是一个普通的 POCO。

        var customers = uow
               .GetAllCustomers()
               .Aggregate((list,obj) => new List<CustomerBE>()
               {
                  var beo = new CustomerBE { FirstName = obj.Firstname,
                                             Id = obj.Id
                                              ...
                                           };
                  list.Add(beo);
                  return list; 
               });
4

1 回答 1

4

为什么不在Select声明中这样做呢? Select旨在从一种类型映射到另一种类型:

var customers = uow
           .GetAllCustomers()
           .AsEnumerable()
           .Select(c => new CustomerBE { FirstName = c.Firstname,
                                         Id = c.Id
                                          // ...
                                       }
                  )
           .ToList();
于 2012-08-09T16:59:08.953 回答