powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Linq for SQLite
9 сообщений из 9, страница 1 из 1
Linq for SQLite
    #39016416
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В SQLite for Linq много глюков (недоработок), например один из них:
APPLY Joins are not supported
Висит ещё с 2011 года, с низким приоритетом "Low", то есть его и не собираются исправлять.

Вот такой элементарный запрос даст ошибку APPLY Joins are not supported :
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
from dirNomenHistory in db.DirNomenHistoryes
.Where
(
  Hist =>
  dirNomen.DirNomenID == Hist.DirNomenID &&
  Hist.DirNomenHistoryDate ==
  (
    from x in db.DirNomenHistoryes
    where x.DirNomenID == dirNomen.DirNomenID && x.DirNomenHistoryDate <= HistoryDate //где "HistoryDate" - параметр типа DateTime
    select x.DirNomenHistoryDate
   ).Max()
)
.DefaultIfEmpty()


Типа вложенный запрос, в котором надо получить: максимальную дату истории цен товара до даты "HistoryDate"

П.С. Хотя может я что-то не понимаю и не правильно делаю ...
П.С.2. Продублировал Генератор Linq
...
Рейтинг: 0 / 0
Linq for SQLite
    #39016710
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
potkinВ SQLite for Linq много глюков (недоработок), например один из них:
APPLY Joins are not supported
Висит ещё с 2011 года, с низким приоритетом "Low", то есть его и не собираются исправлять.Это значит что эти фичи никому нафиг не нужны.

potkinТипа вложенный запрос, в котором надо получить: максимальную дату истории цен товара до даты "HistoryDate"

П.С. Хотя может я что-то не понимаю и не правильно делаю ... 13467826
...
Рейтинг: 0 / 0
Linq for SQLite
    #39016805
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl13467826
Помощь не нужна.
В принципе можно это обойти.
Но, например, в других Скул-Серверах для которых есть провайдер Линк, всё работает без ошибок.
...
Рейтинг: 0 / 0
Linq for SQLite
    #39016899
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То есть тебе не задачу надо решить, а просто посотрясать воздух захотелось?
...
Рейтинг: 0 / 0
Linq for SQLite
    #39016952
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlпросто посотрясать воздух
Нет, конечно :-)
Просто, я не понимаю, почему не реализовали и почему это не нужно, обычный Left Join с вложенным под-запросом? А обходится, достаточно сложно. И, я к тому, что может кому пригодится, может кто сталкивался с подобной проблемой, хотел помочь ...
П.С. Ну раз не нужно, то тада можно удалить топик ...
...
Рейтинг: 0 / 0
Linq for SQLite
    #39017051
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
potkinWhite Owlпросто посотрясать воздух
Нет, конечно :-)
Просто, я не понимаю, почему не реализовали и почему это не нужно, обычный Left Join с вложенным под-запросом? А обходится, достаточно сложно. И, я к тому, что может кому пригодится, может кто сталкивался с подобной проблемой, хотел помочь ...
П.С. Ну раз не нужно, то тада можно удалить топик ...Обычный left join с вложенным под-запросом прекрасно работает.

А почему не нужен apply.... Потому что в SQLite нету процедур возвращающих резалт-сеты. А без них нет смысла в lateral связях.
...
Рейтинг: 0 / 0
Linq for SQLite
    #39017338
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlОбычный left join с вложенным под-запросом прекрасно работает.
В SQL всё работает, а вот в Linq ...
...
Рейтинг: 0 / 0
Linq for SQLite
    #39017363
Фотография potkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот ещё одна не доработка - Округление
Пример на Линке:
Код: sql
1.
2.
3.
4.
5.
6.
  from ...
  where ...
  select new
  {
      Price = Math.Round(DocX.Price, 2)
  }


Переводит в SQL так:
Код: sql
1.
2.
3.
  select ROUND(DocX.Price, 0)
  from ...
  where ...


Как видим в Линке округление стоит до 2-х циферек после запятой, а в SQL перевело - округление до 0-я
...
Рейтинг: 0 / 0
Linq for SQLite
    #39018015
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу... иными словами: не используйте дети Linq. Да и вообще .Net технологии не используйте.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Linq for SQLite
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]