Изменения документа Serialize.Linq
Редактировал(а) Alexandr Fokin 2023/02/08 14:08
От версии 1.10
отредактировано Alexandr Fokin
на 2020/12/20 22:07
на 2020/12/20 22:07
Изменить комментарий:
Редактировать комментарий
К версии 1.2
отредактировано Alexandr Fokin
на 2020/12/20 19:15
на 2020/12/20 19:15
Изменить комментарий:
Добавлен комментарий
Сводка
-
Объекты (1 изменено, 0 добавлено, 0 удалено)
Подробности
- XWiki.XWikiComments[0]
-
- Комментарий
-
... ... @@ -1,23 +1,5 @@ 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 -Опционально: 17 -- Предполагается, что делаем выборки только на чтение - сразу отключаем changeTracking 18 -- Параметр запроса, отвечающий за LazyLoading 19 -- Параметр, отвечающий за загрузку связанных данных (или флаг, или отдельные выражения для Include) 20 - 21 - 22 -Из минусов: 23 -вся ответственность по формированию выражения (и соответственно sql запроса) ложиться на клиента, сложнее сделать валидацию, если вообще можно. 3 +Удалось создать собственный класс-сущность, содержащий несколько выражений (select, where). 4 +Передать сериализованный экземпляр класса на сервер. 5 +На сервере получить выражения и применить их к набору IEnumerable. - Дата
-
... ... @@ -1,1 +1,1 @@ 1 -2020-12-20 19:15:55.2 101 +2020-12-20 19:15:55.209