Я создаю веб-API. Мне нужно получить ~ 50 табличных данных за один запрос для некоторых вычислений. Поскольку я получаю все эти таблицы вместе, время отклика веб-API велико. Все таблицы независимы. Я использую шаблон репозитория и первый подход EF-кода. Любые предложения по увеличению времени отклика для данного сценария:
Код выглядит следующим образом:
public static class FetchDataExtensions
{
public static DbData GetData(this IRepository repo, Request request)
{
return new DbData
{
// fetching data from db using repository pattern
Table1 = repo.GetTable1Data(request.name, request.gender),
Table2 = repo.GetTable2Data(request.gender),
Table3 = repo.GetTable3Data(),
........
Table50 = repo.GetTable50Data()
};
}
}
Repository.cs
public class Repository : IRepository
{
private readonly DBContext context;
public Repository(DBContext context)
{
this.context = context;
}
public Table1 GetTable1Data(string name, string gender)
{
try
{
return context.Table1.Single(a => a.Name.Equals(name.ToString(), StringComparison.OrdinalIgnoreCase)
&& a.Gender.Equals(gender.ToString(), StringComparison.OrdinalIgnoreCase));
}
catch (Exception ex)
{}
}
}