我想将包含一些集合的实体转换为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