Получение данных из множества разных таблиц в SQL с использованием EF происходит медленно - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть форма на веб-странице с несколькими полями со списком, каждое поле со списком перечисляет записи из разных таблиц в одной базе данных.

при тестировании моего кода веб-страница медленно открывается из-за всех данных, полученных из SQL.

Есть ли более эффективный способ получения данных из списка?

вот код, который я использую для заполнения списков на Get, позже используемых в бритвенных страницах для заполнения списков

public async Task<IActionResult> OnGetAsync(int? id) {

                List1 = await _dbcontext.tbl1.ToListAsync();
                List2 = await _dbcontext.tbl2.ToListAsync();
                List3 = await _dbcontext.tbl3.ToListAsync();
                List4 = await _dbcontext.tbl4.ToListAsync();
    }

1 Ответ

0 голосов
/ 27 апреля 2018

Это довольно широкий вопрос. Нам нужно больше информации, чтобы предоставить вам идеи. Но я предлагаю вам разделить действие на четыре разных вызова (вызовы AJAX), чтобы комбинированные списки загружались постоянно.

Что-то вроде

public async Task<IActionResult> OnGetAsync1(int? id) 
{
    return await _dbcontext.tbl1.ToListAsync();
}
public async Task<IActionResult> OnGetAsync2(int? id) 
{
    return await _dbcontext.tbl2.ToListAsync();
}
...
...