Страница Blazor: как лучше всего получить данные на основе различных отфильтрованных условий с контроллера сервера?C#

Место общения программистов C#
Ответить
Гость
 Страница Blazor: как лучше всего получить данные на основе различных отфильтрованных условий с контроллера сервера?

Сообщение Гость »

У нас есть проект Blazor WASM на .NET 7 с использованием VS 2022, C#, SQL Server и шаблона репозитория.
У нас есть страница Blazor, которая позволяет пользователю клиента выберите фильтры, чтобы заполнить таблицу HTML отфильтрованными данными из репозитория базы данных на стороне сервера. Мы ожидаем, что при запуске в производство в представлении SQL Server для страницы может быть миллион строк.
Мой вопрос заключается в том, как лучше всего реализовать запрос данных GET на на стороне сервера.
Я вижу запрос, начинающийся со страницы PAGE, вызывающий клиентскую службу, которая вызывает контроллер сервера, который извлекает данные из репозитория сервера.
Например, я получаю данные из представления SQL Server, которое может содержать миллион строк, и мне интересно, как лучше всего получить отфильтрованные данные.
Я вижу функцию службы и метод контроллера вспомогательные параметры, которые можно использовать в инструкции LINQ, которая может использовать

Код: Выделить всё

somecollection.Where(...field1==value1 && field2==value2...etc.)
из коллекции вызова GetAllRecords() из репозитория.
Это хороший способ вернуться обратно к клиенту- список отфильтрованных данных из 100 строк (например)?
Из моих ограниченных знаний и перспективы я спрашиваю...
  • должен ли контроллер выполнять фильтрацию с помощью оператора Linq
ИЛИ
  • должен ли репозиторий выполнять фильтрацию Linq
ИЛИ
  • иметь количество хранимых процедур SQL Server, вызванных репозиторием
ИЛИ
  • некоторое другое образом


Подробнее здесь: https://stackoverflow.com/questions/781 ... -condition
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»