Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / что за язык? / 21 сообщений из 21, страница 1 из 1
09.03.2021, 10:28
    #40051804
raven_2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
Доброе время суток, коллеги!

разбираю чужой код, натолкнулся на след.строки

Код: c#
1.
2.
3.
4.
5.
6.
7.
            var mainTable = (from el in db.table1
                             join p in db.table2 on el.HozOrgan equals p.ID
                             join pd in db.table3 on p.Section equals pd.ID
                             join pp in db.table4 on p.Post equals pp.ID
                             where targetDevisions.Contains(pd.ID)
                             where targetReaderIndexes.Contains((int)el.ReaderIndex)
                             where el.TimeVal >= startDate.Date && el.TimeVal <= startDate.Date.AddDays(2))



интуитивно понял, что это представление SQL-запроса к БД
на C#
где мне найти документацию, чтобы разобраться в синтаксисе?
заранее спасибо
...
Рейтинг: 0 / 0
09.03.2021, 10:49
    #40051812
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
...
Рейтинг: 0 / 0
09.03.2021, 11:39
    #40051831
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
raven_2008
интуитивно понял, что это представление SQL-запроса к БД
на C#
это запрос к любым перечислениям, необязательно к БД. Но может быть транслирован определенными фреймворками в запрос к БД

Если есть решарпер - он умеет переводить этот синтаксис в обычный флюент и обратно (это чтобы лучше разобраться, если привык к флюенту), хотя, в итоге, неплохо бы знать оба синтаксиса.
...
Рейтинг: 0 / 0
09.03.2021, 13:56
    #40051907
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
после таких вопросов чувствуешь себя олдом уже(
...
Рейтинг: 0 / 0
09.03.2021, 13:58
    #40051908
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
Shocker.Pro
он умеет переводить этот синтаксис в обычный флюент и обратно


могут быть проблемы при использовании let )
...
Рейтинг: 0 / 0
09.03.2021, 13:59
    #40051910
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
handmadeFromRu
после таких вопросов чувствуешь себя олдом уже(


вот трудно обнаружить грань, это просто тупо устарело, или просто обычное незнание
...
Рейтинг: 0 / 0
09.03.2021, 15:06
    #40051943
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
hVostt
handmadeFromRu
после таких вопросов чувствуешь себя олдом уже(


вот трудно обнаружить грань, это просто тупо устарело, или просто обычное незнание


сеньоры по работе встречаются что не умеют в такой синтаксис уже) имхо этот синтаксис приятнее чем флуент но писать больше
...
Рейтинг: 0 / 0
09.03.2021, 15:44
    #40051969
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
handmadeFromRu,

хз кому он приятнее, мне он неприятен, тут дело вкуса и не более.
...
Рейтинг: 0 / 0
09.03.2021, 15:47
    #40051971
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
handmadeFromRu
имхо этот синтаксис приятнее чем флуент

Такой синтаксис зло. Запретить и оторвать руки тому, кто его придумал.
...
Рейтинг: 0 / 0
09.03.2021, 15:59
    #40051980
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
fkthat
handmadeFromRu
имхо этот синтаксис приятнее чем флуент

Такой синтаксис зло. Запретить и оторвать руки тому, кто его придумал.
ну джойны, положим, там проще и нагляднее. Тот же запрос из первого сообщения во флюенте гораздо тяжелее читается
...
Рейтинг: 0 / 0
09.03.2021, 16:44
    #40052000
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
Shocker.Pro
ну джойны, положим, там проще и нагляднее. Тот же запрос из первого сообщения во флюенте гораздо тяжелее читается

Так-то да, но, при правильном дизайне джойнов там быть и не должно. В объектной модели джойн это всегда navigation property. А если нет, то, очень вероятно, что модель кривая.
...
Рейтинг: 0 / 0
09.03.2021, 16:55
    #40052006
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
fkthat
Так-то да, но, при правильном дизайне джойнов там быть и не должно. В объектной модели джойн это всегда navigation property. А если нет, то, очень вероятно, что модель кривая.
Во-первых, ты говоришь о EF, а необходимость джойна возникает далекто не только в контексте EF.
Во-вторых, когда начинается группировка поверх джойна, навигационные свойства не спасут
...
Рейтинг: 0 / 0
09.03.2021, 17:16
    #40052019
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
Shocker.Pro
Во-вторых, когда начинается группировка поверх джойна, навигационные свойства не спасут

Код: c#
1.
2.
3.
4.
5.
orders.SelectMany(order =>
    order.Items.Select(item => new { order, item }))
    // и дальше уже делаем с результатом вообще что угодно,
    // хоть фильтруем, хоть группируем, хоть вприсядку мастурбируем,
    // ибо результат это и есть джойн orders и их items
...
Рейтинг: 0 / 0
09.03.2021, 17:21
    #40052021
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
fkthat,

Лень копаться. но был какой-то кейс, где я не смог поступить подобным образом, и приходилось лепить джойн на навигационные свойства. Впрочем, возможно это было потому, что EF в результате создавал sql-запрос франкенштейна вместо человеческого джойна
...
Рейтинг: 0 / 0
09.03.2021, 17:47
    #40052036
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
fkthat
handmadeFromRu
имхо этот синтаксис приятнее чем флуент

Такой синтаксис зло. Запретить и оторвать руки тому, кто его придумал.


ты покажи аналог let-а, а потом открывай руки уже :)
...
Рейтинг: 0 / 0
09.03.2021, 17:48
    #40052038
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
fkthat
Так-то да, но, при правильном дизайне джойнов там быть и не должно. В объектной модели джойн это всегда navigation property. А если нет, то, очень вероятно, что модель кривая.


ну это ток в идеальных наивных фантазиях, этого быть не должно, того быть не должно, пятого десятого.
...
Рейтинг: 0 / 0
09.03.2021, 17:49
    #40052040
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
fkthat
Код: c#
1.
2.
3.
4.
5.
orders.SelectMany(order =>
    order.Items.Select(item => new { order, item }))
    // и дальше уже делаем с результатом вообще что угодно,
    // хоть фильтруем, хоть группируем, хоть вприсядку мастурбируем,
    // ибо результат это и есть джойн orders и их items



а теперь сделай left
или ещё интересней full outer

глянем в какую присядку ты будешь маструбировать )
...
Рейтинг: 0 / 0
09.03.2021, 17:57
    #40052048
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
hVostt
ну это ток в идеальных наивных фантазиях, этого быть не должно, того быть не должно, пятого десятого.

Гамнокод всегда имеет-таки место быть в природе и превратиться в пахнущую розами конфету ты его не заставишь, так что с этим приходится мириться
...
Рейтинг: 0 / 0
09.03.2021, 17:58
    #40052050
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
fkthat,

ну вообще, выборки из EF по модели через навигационные проперти, это конечно то, к чему надо стремиться. и чем больше таким образом задачи решаются, тем лучше дизайн модели.

но однако, бывает ещё и не EF.
тот же let, например, через fluent выглядит убожески
join это не всегда про foreign key

бывают ещё модели БД такие, где fk не получится в силу универсальности таблиц.
кейсов короче дофига бывает.

поэтому уметь можно и то, и то и получать удовольствие )
...
Рейтинг: 0 / 0
09.03.2021, 18:02
    #40052055
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
hVostt
а теперь сделай left
или ещё интересней full outer

Это неправильная постановка задачи для объектной модели. :))
...
Рейтинг: 0 / 0
12.03.2021, 16:19
    #40052941
raven_2008
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
что за язык?
большое спасибо.
теперь знаю, где и что искать
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / что за язык? / 21 сообщений из 21, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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