我有一個客戶收藏。內部客戶我有另一個名爲訂單的集合。Linq Projection
訂單具有Name,OrderDate,PurchaseID。
如何寫一個Linq查詢給我一個新的客戶集合,其中只包含OrderDate> QueryDate的訂單?
爲了協助這裏的討論,我們提供了相關的代碼集。我只需要了解這個概念。
class Customer
{
List<Order> Orders;
}
class Order
{
string Name;
Date OrderDate;
int PurchaseID;
}
List<Customer> customers;
我遇到了一個我不知道的新路障。訂單是隻讀屬性。它需要通過customers.Orders.Add(...)訪問,如果不是SharePoint答案將工作。那麼如何只將已過濾的訂單添加到訂單中?
將是偉大的,如果我們可以做到這一點,這將完美的工作。謝謝 – firefly 2009-11-24 15:36:07
我已經要求一個C#特性來在集合初始化上下文中自動擴展IEnumerable(這樣你就可以編寫例如'new Customer {Orders = {c.Orders.Where(o.OrderDate> QueryDate)}}' - 參見https ://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID = 377830,如果您希望在未來的C#版本中查看此功能(或針對同一事物的不同語法),請爲此投票。 – 2009-11-24 16:41:33