public static List<Delivery> GetAllHistoryDelivery() { List<Delivery> deliveryList = new List<Delivery>(); DataContextDataContext dc = new DataContextDataContext(); ISingleResult<select_all_history_deliveryResult> rs = dc.select_all_history_delivery(); foreach (select_all_history_deliveryResult r in rs) { List<DishQuota> dishQuotaLish = new List<DishQuota>(); ISingleResult<get_dishquota_by_deliveryResult> rs2 = dc.get_dishquota_by_delivery(r.id); foreach (get_dishquota_by_deliveryResult r2 in rs2) { double price = 0; ISingleResult<get_dish_by_nameResult> rs3 = dc.get_dish_by_name(r2.dish_name); foreach (get_dish_by_nameResult r3 in rs3) { price = (double)r3.price; } DishQuota dishQuota = new DishQuota(r2.id, r2.dish_name, price, (int)r2.quota, r2.note); dishQuotaLish.Add(dishQuota); } Delivery delivery = new Delivery( (Guid)r.id, r.user_from, r.customer_name, r.phone, r.address, (DateTime)r.commit_time, (DateTime)r.delivery_time, (DeliveryState)r.state, dishQuotaLish); deliveryList.Add(delivery); } return deliveryList; }