我有這樣的場景:如何類集合分配給新的視圖模型
我想和我只想要屬性ViewModel
但我的問題是與Collections
。所以這裏有一個例子:
主要類型:
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Order> Orders { get; set; }
// remove some code for brevity
}
public class Order
{
public int Id { get; set; }
public string ItemName { get; set; }
public int CustomerId { get; set; }
public virtual Customer Customer { get; set; }
// remove some code for brevity.
}
視圖模型:
public class OrderVM
{
public string ItemName { get; set; }
}
public class CustomerVM
{
public string Name { get; set; }
public ICollection<OrderVM> Orders { get; set; }
}
然後我試圖這樣的事情:
_customerService.Include(c => c.Orders)
.Select(x => new CustomerVM
{
Name = x.Name,
Orders = x.Orders.Select(order => new OrderVM { ItemName = order.ItemName }) // but it says cannot convert implicitly from IEnumerable to ICollection
}
)
概括地說,我怎麼能填充CustomerVM
的房源?我只想選擇我想要的。有什麼想法嗎?真的停留在這裏。
'..Orders = x.Orders.Select(爲了=>新OrderVM {ItemName = order.ItemName})。ToList()'或將'Orders'改爲'IEnumerable' –
就這樣了?這整個時間只是'.ToList()'缺乏?非常感謝。你可以在答案部分發布它,以便我可以將其標記爲答案。如果你能爲他人的參考提供更多的解釋,那將是非常好的。謝謝 :) –