powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / что за язык?
21 сообщений из 21, страница 1 из 1
что за язык?
    #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
что за язык?
    #40051812
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
что за язык?
    #40051831
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
raven_2008
интуитивно понял, что это представление SQL-запроса к БД
на C#
это запрос к любым перечислениям, необязательно к БД. Но может быть транслирован определенными фреймворками в запрос к БД

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


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


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


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


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

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

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

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

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

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

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

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


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


ну это ток в идеальных наивных фантазиях, этого быть не должно, того быть не должно, пятого десятого.
...
Рейтинг: 0 / 0
что за язык?
    #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
что за язык?
    #40052048
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
ну это ток в идеальных наивных фантазиях, этого быть не должно, того быть не должно, пятого десятого.

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

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

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

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

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

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


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