Более эффективная альтернатива созданию данных с синтаксисом бритвы в ASP. NET MVC - PullRequest
0 голосов
/ 29 мая 2020

Я создаю веб-приложение, которое позволяет пользователям выбирать из 20 различных баз данных с сотнями таблиц. Пользователь будет выбирать из нескольких различных вариантов, и при отправке создается строка подключения, которая передается в класс запроса, где набор данных затем возвращается обратно в контроллер. Я сохраняю набор данных в Viewbag ViewBag.results = ds.Tables[0];. Выполнение запроса выполняется очень быстро, как и ожидалось, но я сталкиваюсь с узким местом в создании таблицы данных в представлении.

Столбцы данных будут разными для каждого выполняемого запроса, поэтому я решил использовать метод ниже.

 <table id="results" class="table table-striped">
    <thead class="thead-light">
        <tr>
            @foreach (DataColumn column in ViewBag.results.Columns)
            {
                <th scope="col">@column.ColumnName</th>
            }
        </tr>
    </thead>
    <tbody>
        @foreach (DataRow row in ViewBag.results.Rows)
        {
            <tr>
                @foreach (DataColumn column in ViewBag.results.Columns)
                {
                    <td scope="row">@row[column.ColumnName]</td>
                }
            </tr>
        }
    </tbody>
</table>

Я выполняю запрос с ограничением 20, и загрузка представления занимает более 20 секунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...