0

次のモデルとビューモデルがあります(簡潔にするために編集されています):

     Order Model:
            OrderId
            ShippingAddressId 
            .....
    Address Model:
            AddressId
            .....
    OrderViewModel:
            Some Property from Order Model and Address Model

2 つのテーブルを内部結合してビューモデルにマップするにはどうすればよいですか?

    var query= from o in ctx.Orders
        join addr in ctx.Addresses
        on o.ShippingAddressId equals addr.AddressId
        select new OrderViewModel.InjectFrom(o)
                              .InjectFrom(addr)
                              as OrderViewModel;

このコードは機能しません。

4

1 に答える 1

1

最初に結果を具体化する必要がありますToList:

var query = (from o in ctx.Orders
             join addr in ctx.Addresses
             on o.ShippingAddressId equals addr.AddressId
             select new { o, addr }
            ).ToList()
             .Select(x => new OrderViewModel().InjectFrom(x.o)
                                              .InjectFrom(x.addr)
                          as OrderViewModel);
于 2012-08-16T15:58:06.057 に答える