Я знаком с простой операцией GROUP BY
в LINQ
. Но у меня сложный сценарий. Мне нужно преобразовать записи CostPageRow
в объекты домена CostPageSelection
, используя группу. Как мы можем получить объекты домена из списка?Комплекс GROUP BY с использованием LINQ
Примечание: Группа по тому, что я написал выше, не дает List. Я не уверен, как это написать. В списке CostPageSelection есть список внутри него.
List<CostPageRow> costPageRows = searchDAL
.GetAllCostPages(contextObject, searchCriteria);
var orderGroups = costPageRows
.GroupBy(x => new {
x.CostPage,
x.Description,
x.BillTypeDirect,
x.BillTypeWarehouse,
x.OrderType,
x.Vendor,
x.VendorID
})
.Select(y => new CostPageParent {
CostPage = y.First().CostPage
})
.ToList();
Результат от хранимой процедуры
public class CostPageRow
{
//CostPage Parent
public string CostPage { get; set; }
public string Description { get; set; }
public string Vendor { get; set; }
public string VendorID { get; set; }
public string BillTypeDirect { get; set; }
public string BillTypeWarehouse { get; set; }
public string OrderType { get; set; }
//Item Chilld
public string ItemID { get; set; }
public string ItemDescription { get; set; }
public string BrandCode { get; set; }
public string PackSize { get; set; }
}
домена Модель
public class CostPageSelection
{
public CostPageParent CostPageParent { get; set; }
public List<ItemChild> ChildItems { get; set; }
}
//CostPageParent
public class CostPageParent
{
public int? SelectedCostPageID { get; set; }
public string CostPage { get; set; }
public string Description { get; set; }
public string Vendor { get; set; }
public string VendorID { get; set; }
public string BillTypeDirect { get; set; }
public string BillTypeWarehouse { get; set; }
public string OrderType { get; set; }
}
//ItemChild
public class ItemChild
{
public int? SelectedItemID { get; set; }
public string ItemID { get; set; }
public string ItemDescription { get; set; }
public string BrandCode { get; set; }
public string PackSize { get; set; }
}
Итак, в чем проблема? –
@lazyberezovsky. Группа по тому, что я написал выше, не дает List. Я не уверен, как это написать. В списке CostPageSelection есть список внутри него. –
Lijo
Значок Использования Выбрать, чтобы найти: –