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

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

От версии 1.7
отредактировано Alexandr Fokin
на 2020/12/20 22:05
Изменить комментарий: Редактировать комментарий
К версии 1.2
отредактировано Alexandr Fokin
на 2020/12/20 19:15
Изменить комментарий: Добавлен комментарий

Сводка

Подробности

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