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 に答える