1

いくつかのコレクションを含むエンティティを変換しようとしていますModelが、コレクションをモデルに含める方法がわかりません。

この単純な例については、以下のモデルを参照してください。

Namespace Models

    Public Class ProductModel
        Public Property ID As Integer
        Public Property Description As String
        Public Property IsInStock as Boolean
        Public Property Orders As List(Of ProductOrderModel)

    End Class

    Public Class ProductOrderModel
        Public Property ID As Integer
        Public Property OrderDate As DateTime
        Public Property DeliveredDate As DateTime?
        Public Property ShippingAddress As String
    End Class

End Namespace

これで、以下に示す製品モデルに簡単にキャストできます。

Dim simplifiedProductModel as ProductModel =
    From p in dc.Products _
    Select New ProductModel With { _
        .ID = p.ProductID, _
        .Description = p.ProductDescription, _
        .IsInStock = p.ProductIsInStock, _
        .OrderCount = p.Orders.Count() _
        }

私が理解できないのは、単純化されたモデルを使用してコレクションを含める方法です。

Dim simplifiedProductModel as ProductModel =
    From p in dc.Products _
    Select New ProductModel With { _
    .ID = p.ProductID, _
    .Description = p.ProductDescription, _
    .IsInStock = p.ProductIsInStock, _
    .OrderCount = p.Orders.Count(), _
    .Orders = p.orders.???? ===> New ProductOrderModel 
        With { 
            .ID = ???? o.OrderID , 
            .OrderDate = ???? o.Createdate, 
            etc.  
            }
4

2 に答える 2

1

このような?

Dim simplifiedProductModel as ProductModel = From p in dc.Products _
                                        Select New ProductModel With { _
                                        .ID = p.ProductID, _
                                        .Description = p.ProductDescription, _
                                        .IsInStock = p.ProductIsInStock, _
                                        .OrderCount = p.Orders.Count(), _
                                        .Orders = p.orders.Select( _
                                            Function(o) New ProductOrderModel _
                                                With { _
                                                    .ID = o.OrderID , _
                                                    .OrderDate = o.Createdate, _
                                                    etc.  
                                                }
                                            )
                                         }
于 2013-03-01T16:02:23.783 に答える
0

Public Property Orders As String As List(Of ProductOrderModel)まず、宣言を として修正する必要がありますPublic Property Orders As List(Of ProductOrderModel)。次に、これを使用できます

.Orders = (from order in p.orders
              Select New ProductOrderModel 
                     With { 
                             .ID = order .OrderID , 
                             .OrderDate = order.Createdate, 
                                  etc.
                          }).ToList() 
于 2013-03-01T16:04:35.393 に答える