У меня есть медведь времени, чтобы это работало. У меня есть List(Of MyItem)
под названием Items
, у которых есть свойство OrderId
. Из этих элементов я хочу создать список Order
s. Некоторые элементы будут иметь одинаковые OrderId
, поэтому я хочу попробовать сгруппировать по OrderId
. Затем я хочу сортировать по дате. Вот то, что я до сих пор:VB.NET GroupBy LINQ statement
Public ReadOnly Property AllOrders() As List(Of Order)
Get
Return Items.Select(Function(i As MyItem) New Order(i.OrderID)) _
.GroupBy(Function(o As Order) New Order(o.OrderID)) _
.OrderBy(Function(o As Order) o.DateOrdered).ToList
End Get
End Property
Это, конечно, не компилируется, и я получаю сообщение об ошибке:
Value of type 'System.Collections.Generic.List(Of System.Linq.IGrouping(Of Order, Order))' cannot be converted to 'System.Collections.Generic.List(Of Order))'
Я жирный часть, где я думаю, что проблема в том, но я понятия не имею, как это исправить. Кроме того, он работал нормально (за исключением наличия повторяющихся значений), прежде чем добавить заявление .GroupBy
. У кого-нибудь есть идеи?
Благодаря
EDIT
В принципе, я хочу это:
List of Existing Items Take List and Turn it into List(Of MyItem): List(Of Order): ItemId OrderId OrderID 1 100 100 2 102 102 3 100
ли элементы с одинаковыми OrderID имеют ту же дату? –
Элементы не имеют дат. в основном я использую список предметов, чтобы захватить OrderIds, чтобы делать правильные заказы, но я не хочу обманывать. Мне кажется, что я делаю это сложнее, чем это должно быть: \ – Jason
Так что вам действительно нужен список уникальных заказов? –