У меня есть класс модели представления для получения списка Клиентов с их списком предложений.Как получить список ViewModel из базы данных?
Ресторан ViewModel
public class RestaurantsListVM
{
public Client client { get; set; }
public List<Offer> offers { get; set};
}
Клиент Модель
public class Client
{
public Guid Id { get; set; }
public String RestaurantName { get; set; }
}
Предложение Модель
public class Offer
{
public Guid Id { get; set; }
public String OfferName { get; set; }
public decimal OfferPercentage { get; set; }
В моей да tabase, у меня есть таблицаClientOffer, который также отображает клиент со своими предложениями, как:
***"ClientOfferId,ClientId,OfferId"***
Так что я создал эту функцию для извлечения данных из базы данных.
public List<RestaurantsListVM> GetRestaurants()
{
List<RestaurantsListVM> restaurantlist = new List<RestaurantsListVM>();
var clients = new Client().GetClients();
foreach (Client c in clients)
{
RestaurantsListVM restaurantdetails = new RestaurantsListVM();
restaurantdetails.client = c;
restaurantdetails.offers = new Offer().GetOffers(c.Id);
restaurantlist.Add(restaurantdetails);
}
return restaurantlist;
}
Он отлично работает. Но проблема в том, что он выполняет запрос снова и снова на сервере sql при получении каждого предложения клиента, а производительность снижается.
Как повысить эффективность кода для повышения производительности?
Чтобы получить все рестораны вместе со своими предложениями, требуется около 10 секунд. –