У меня есть 2 модели, заголовок заказа и подробный заказ.Как получить вложенный ответ JSON с WCF-структурой Entity Framework
Я хочу закончить с JSON ответ от сервера, который выглядит как:
--OrderHeader 1
|
--OrderDetails 1
--OrderHeader 2
|
--Order Detail 2
ли я использовать рамки сущности создать своего рода суб палочки запроса возвращают это через мой WebGet, или я прокладываться отдельно запросов и интегрировать формат после получения результатов?
Вот мои ViewModels:
public class OpenOrderHeader
{
public int CustomerID { get; set; }
public int OrderID { get; set; }
public int OrderUniqueNumber { get; set; }
public int NumberOfProductsOnOrder { get; set; }
public DateTime OrderDateCreated { get; set; }
public DateTime OrderDateUpdated { get; set; }
public string OrderLocalOnline { get; set; }
public int BranchID { get; set; }
public string PaymentMethod { get; set; }
public int OrderStatus { get; set; }
public string OrderCurrency { get; set; }
public decimal OrderConversionRate { get; set; }
public decimal SubTotalInclTax { get; set; }
public decimal SubTotalExclTax { get; set; }
public decimal DiscountInclTax { get; set; }
public decimal DiscountExclTax { get; set; }
public decimal ShippingInclTax { get; set; }
public decimal ShippingExclTax { get; set; }
public decimal PaymentFeeInclTax { get; set; }
public decimal PaymentFeeExclTax { get; set; }
}
public class OpenOrderProducts
{
public int OrderID { get; set; }
public string ProductSKUName { get; set; }
public int ProductSKUID { get; set; }
public string ProductSKUStockCode { get; set; }
public DateTime ProductAddedToOrder { get; set; }
public int QtyOfProductsOnOrder { get; set; }
public decimal UnitPriceinclTax { get; set; }
public decimal UnitPriceExclTax { get; set; }
public decimal UnitDiscountInclTax { get; set; }
public decimal UnitDiscountExclTax { get; set; }
public decimal LineItemTotalIncludingTax { get; set; }
public decimal LineItemExclTax { get; set; }
public decimal LineItemShippingCost { get; set; }
}
Связанный: http://stackoverflow.com/q/14849876/861716 –
@GertArnold Поэтому в основном я должен просто создать ленивый экземпляр загрузки, основанный на ограничении foreignkey. Таким образом, мой класс может выглядеть так: 'public class CustomerOrder { public int CustomerID {get; задавать; } public int OrderID {get; задавать; } public int OrderUniqueNumber {get; задавать; } public int NumberOfProductsOnOrder {get; задавать; } // Остаток заказаHeader Публичный виртуальный ICollection OrderProducts {get; задавать; } } ' –
В вашем случае вы можете запросить все данные одним выстрелом, используя' Include'. Связанная ссылка касается рекурсивной структуры, которая требует более одного запроса. –