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

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

От версии 1.4
отредактировано Alexandr Fokin
на 2020/12/20 22:01
Изменить комментарий: Редактировать комментарий
К версии 1.11
отредактировано Alexandr Fokin
на 2020/12/20 22:09
Изменить комментарий: Редактировать комментарий

Сводка

Подробности

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