我想將包含一些集合的實體轉換爲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() _
}
我想不通out是如何使用其簡化模型來包含集合。
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.
}
「'公共財產的訂單作爲字符串列表(中ProductOrderModel)'」我不認爲這是有效的VB語法 - 你有兩種不同類型的聲明。 – 2013-03-01 15:58:49
注意:「鑄造」一詞在這裏不適用。這不是你在做什麼。轉換更合適。用Linq術語來說,你會說你從一個數據視圖投影到另一個數據視圖。 – 2013-03-01 16:10:02
@DStanley - 抱歉錯字 - 我會糾正的,我也會更正Cast/Conversion的內容。 – RichC 2013-03-01 16:47:17