Изменения документа Serialize.Linq

Редактировал(а) Alexandr Fokin 2023/02/08 14:08

От версии 1.3
отредактировано Alexandr Fokin
на 2020/12/20 21:57
Изменить комментарий: Редактировать комментарий
К версии 1.6
отредактировано Alexandr Fokin
на 2020/12/20 22:05
Изменить комментарий: Редактировать комментарий

Сводка

Подробности

XWiki.XWikiComments[0]
Комментарий
... ... @@ -8,7 +8,14 @@
8 8  Сервер получает запрос, десереализует и выполняет. (использовалось обращение к List, обращение к EF iqueryable)
9 9  Сервер возвращает результирующий набор данных.
10 10  
11 +Заметка:
12 + expression tree может быть как частичным (например select(Func<DbEntity, DbEntity>), where(Func<DbEntity, bool>),
13 + так и полностью формировать выборку (Func<IEnumerable<DbEntity>, IEnumerable<DbEntity>>)
11 11  
12 -Удалось создать собственный класс-сущность, содержащий несколько выражений (select, where).
13 -Передать сериализованный экземпляр класса на сервер.
14 -На сервере получить выражения и применить их к набору IEnumerable.
15 +Опционально:
16 +* Предполагается, что делаем выборки только на чтение - сразу отключаем changeTracking
17 +* Параметр запроса, отвечающий за LazyLoading
18 +* Параметр, отвечающий за загрузку связанных данных (или флаг, или отдельные выражения для Include)
19 +
20 +Из минусов:
21 +вся ответственность по формированию выражения (и соответственно sql запроса) ложиться на клиента, сложнее сделать валидацию, если вообще можно.