powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Понимание лямбд и LINQ
24 сообщений из 749, страница 30 из 30
Понимание лямбд и LINQ
    #38920738
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУВо-первых, табличных переменных не было в MS SQL 2000.Были, есть.
Нет. Появились table variable только в 2005.

Алексей КНе нужны никакие права.
Нужны. На tempdb.
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920750
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Были, есть.
Нет. Появились table variable только в 2005.

Алексей КНе нужны никакие права.
Нужны. На tempdb.По обоим пунктам ты не прав. Подробности тут .
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920762
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПо обоим пунктам ты не прав. Подробности тут .

https://msdn.microsoft.com/ru-ru/library/ms174979.aspx Разрешения: Временные таблицы в базе данных tempdb может создавать любой пользователь.


Нет доступа к tempdb, нельзя создавать временные таблицы.

По второму вопросу про табличные переменные: 11270136 5577527
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920798
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНет доступа к tempdb, нельзя создавать временные таблицы.Не понял, почему может не быть доступа к tempdb. Всегда был.
МСУПо второму вопросу про табличные переменные: 11270136 5577527 Ну и что. Они ведь там есть.
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920831
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУНет доступа к tempdb, нельзя создавать временные таблицы.Не понял, почему может не быть доступа к tempdb.Ну явно можно запретить :)

База данных tempdb
Разрешения Любой пользователь может создавать временные объекты в базе данных tempdb.
Если не предоставлены какие-либо дополнительные разрешения, то пользователи могут производить доступ только к тем объектам, которыми они владеют.
Существует возможность отменить разрешение на соединение с базой данных tempdb , чтобы пользователь не мог ей пользоваться, но этого делать не рекомендуется , так как база данных tempdb необходима для работы некоторым подпрограммам.
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920840
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Не понял, почему может не быть доступа к tempdb.Ну явно можно запретить :)Но зачем? Если хочется всё сломать, есть гораздо более эффективные способы. :-)
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920878
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КskyANAпропущено...
Ну явно можно запретить :)Но зачем?А фиг знает. На форуме про это потом пофлеймить :)
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920923
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КhVosttпропущено...


выкуси! это CTE, работает так быстро, как это позволяет СУБД, а на поверку в MS SQL, Oracle, Postrges оно работает охерительно быстро, даже на огромных таблицах.Были случаи, когда не удавалось добиться нормального плана выполнения CTE запроса в MSSQL2012. Так что тут не всё так однозначно.

Серебряной пилюли нет. Честно говоря решение с использованием поля path я применял всего один раз в жизни, но там это было уместно, не предполагалось никакого переподчинения, уровней иерархии было много, и много было запросов именно с учётом путей. Но сейчас я бы легко обошёлся без path, так как это самое дебильное решение из всех, что только можно придумать. Грубо говоря, выключи нафиг мозг и используй path, как-то так.

Почему CTE хорош, потому что при правильной нормализации таблиц, никаких проблем с ним нет. Если же проектировать БД через жопу, тут уж ничего не поможет, только монстячить убогие SQL-конструкции, чтобы как-то выжить нужную производительность и целостность. Ну что поделаешь, мозги не всем при рождении выдаются, поэтому часто вижу такое говнище, что дурно становится.
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920939
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttСеребряной пилюли нет. Честно говоря решение с использованием поля path я применял всего один раз в жизни, но там это было уместно, не предполагалось никакого переподчинения, уровней иерархии было много, и много было запросов именно с учётом путей. Но сейчас я бы легко обошёлся без path, так как это самое дебильное решение из всех, что только можно придумать. Грубо говоря, выключи нафиг мозг и используй path, как-то так.
Мне тоже path не очень нравится, слишком уж накладно его поддерживать и нету никакой ссылочной целостности. Это лишь вариант оптимизации.

hVosttПочему CTE хорош, потому что при правильной нормализации таблиц, никаких проблем с ним нет. Если же проектировать БД через жопу, тут уж ничего не поможет, только монстячить убогие SQL-конструкции, чтобы как-то выжить нужную производительность и целостность. Ну что поделаешь, мозги не всем при рождении выдаются, поэтому часто вижу такое говнище, что дурно становится.
CTE помогает на откровенно жирных деревьях, без него никак. Но большинство иерархий, с которыми приходится работать (оргштатка, какие-то несложные бизнес процессы) можно запилить на чистом EF без применения вьюх и CTE. И это работает быстро.
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920951
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУМне тоже path не очень нравится, слишком уж накладно его поддерживать и нету никакой ссылочной целостности. Это лишь вариант оптимизации.

Как оптимизация подойдёт вполне, согласен.

МСУCTE помогает на откровенно жирных деревьях, без него никак. Но большинство иерархий, с которыми приходится работать (оргштатка, какие-то несложные бизнес процессы) можно запилить на чистом EF без применения вьюх и CTE. И это работает быстро.

На небольших деревьях, типа штатки конечно можно легко обойтись без лишнего оверхеда. Тем более я даже операций таких не вижу для штатки, где понадобился CTE, её даже в кеше можно держать без проблем.

В общем, согласен с принципом, что если что-то можно сделать нативно, делай это нативно
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920961
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПочему CTE хорош, потому что при правильной нормализации таблиц, никаких проблем с ним нет.Проблемы были как рас с "правильной нормализованной" структурой таблиц. CTE был вложенным запросом в разделе where и никак не хотел правильно работать.
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38920966
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAАлексей Кпропущено...
Но зачем?А фиг знает. На форуме про это потом пофлеймить :)Согласен. :-)
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38926877
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеет ли смысл задрачивать спецификацию языка до последней буквы, если можно быть просто средним программистом и использовать анализатор кода ? К чему все эти "издевательства" на собеседованиях в "крутые компании" - у них что, нет денег на анализатор? Каким бы ты ни был гуру, а всё равно делаешь кучу ошибок. Т. е. анализатор всё равно нужен.
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38926878
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НемоКэп42Имеет ли смысл задрачивать спецификацию языка до последней буквы, если можно быть просто средним программистом и использовать анализатор кода ? К чему все эти "издевательства" на собеседованиях в "крутые компании" - у них что, нет денег на анализатор? Каким бы ты ни был гуру, а всё равно делаешь кучу ошибок. Т. е. анализатор всё равно нужен.
Я уверен, что если бы Кармака собеседовали в Гугле или Яндексе, при этом не знаю, что Кармак это Кармак, то он бы пролетел. Крышки люков и "мы требуем писать код на бумажке на коленке" - это вам не квейки какие-нибудь и не аэроспейс.
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38926879
НемоКэп42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее там по ошибкам в коде... Ну, где он там прогонял код через кучу анализаторов и получалось, что он говнокодер. :)

Хе-хе, как раз тот случай, когда объём всякого рода поддержки может на порядок превысить объём самого продукта. По разным показателям, не только по цене. Например, объём кода юнит-тестов при почти 100% покрытии этими юнит-тестами, может на порядок превышать объём кода, которые эти тесты тестируют. Разработка через тестирование, говорите? Платите миллиарды - мы вам хоть апельсин затестируем до умопомрачения. Зато вы будете кушать самый безопасный и самый безошибочный апельсин в мире!
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38960285
ОлдФаг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОлдФагЗдравствуйте!

Так сложилась судьба, что я до недавнего времени сидел на VS2005 и NET2.0 , меня в принципе все устраивало, а сам C# особо ничем не напрягал, программирование и методики ничем не выделялись.

Но тут я решил, что пора идти в ногу со временем и начал изучать, хотя бы, C# 4.0. Из которого мне на голову посыпалось куча фишек в виде всяких лямбд и линкью.

У меня просто вот просьба, научите правильно их читать, я нифига не понимаю, селект в конце, что к чему, а это => шо значит, я просто хочу думать этими выражениями , а не тупо заучивать примеры Шилдта.Вот слегка осилил, теперь руки чешутся во всех своих проектах найти массиво-цикло-дрочь и срочно переписать на линкью!

А что предпочитают многоуважаемые форумчане: синтаксис запросов или цепочки методов расширений?
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38960316
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОлдФагА что предпочитают многоуважаемые форумчане: синтаксис запросов или цепочки методов расширений?
В большинстве случаев цепочки методов расширений получаются короче, поэтому предпочитаем их.
Но в некоторых случаях синтаксис запросов намного понятнее, поэтому используется он.
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38960373
ОлдФаг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оба варианта равносильны и взаимозаменяемы на все 100% или есть исключения, какие?
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38960413
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОлдФагОба варианта равносильны и взаимозаменяемы на все 100% или есть исключения, какие?
Они равносильны и взаимозаменяемы.
Однако, часто запросы, записанные двумя разными способами, совершенно не похожи, так что с первого взгляда и не скажешь, что они равнозначны.
Несколько ссылок на мои сообщения: тынц1 , тынц2 , 15591993 .

Кроме let в синтаксисе запросов удобно применять orderby: просто перечисляем через запятую все свойства, по которым нужно последовательно отсортировать. А в синтаксисе методов нужно сперва писать OrderBy, а затем для каждого следующего ThenBy:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
from x in collection
orderby x.Prop1, x.Prop2
select x.Prop3;

collection
.OrderBy(x => x.Prop1)
.ThenBy(x => x.Prop2)
.Select(x => x.Prop3);
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38960504
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОлдФагА что предпочитают многоуважаемые форумчане: синтаксис запросов или цепочки методов расширений?вот тут довольно подробно ответили
LINQ: кто какой синтаксис использует?
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38960506
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petalvikА в синтаксисе методов нужно сперва писать OrderBy, а затем для каждого следующего ThenBy:
Код: c#
1.
.OrderBy(n => new { n.Field1, n.Field2 })

EF такое понимает
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38961225
ОлдФаг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProОлдФагА что предпочитают многоуважаемые форумчане: синтаксис запросов или цепочки методов расширений?вот тут довольно подробно ответили
LINQ: кто какой синтаксис использует?
спасибо, нашел для себя хинт:
D129А для меня - нет. Я использую флюент только в очевидных случаях, когда точно знаю, что ошибки в логике нет.
У меня мышление такое - императивный подход мне ближе.
:-)

Чужие флюенты мне читать сложно - если вдруг он не сделал, что ожидалось - начинаю разделять, чтобы выцепить где проблема.
Еще по началу (сейчас уже меньше нужно, привык), писал имя переменной (и во флюенте тоже) с префиксом each (from eachItem in Items) - тоже помогает не париться, что же имеется в виду - при написании условий ниже. Само предложение выглядит уже совсем по человечески.
:-)
теперь проще жить ... немного

P.S. Меня еще мучает один вопрос: Неужели все успевают изучать весь стек технологий майкрософт и дотНет в частности, как? Сколько нужно тратить помимо работы времени на самообучение? Я вот вообще не могу угнаться...
какие есть хитрости в этом плане, как держаться на плаву, как быть хотя бы в среднем вагоне состава, а не бежать позади по шпалам?
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38961229
ОлдФаг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОлдФагкак держаться на плаву, как быть хотя бы в среднем вагоне состава, а не бежать позади по шпалам?
Про бизнес-класс, в компанию к МСУ , хВосту и СкайАне я даже и не претендую ... Они точно знают какой-то секрет ...
...
Рейтинг: 0 / 0
Понимание лямбд и LINQ
    #38962049
Мсущка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ знает будущее. Вот в чем секрет.
...
Рейтинг: 0 / 0
24 сообщений из 749, страница 30 из 30
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Понимание лямбд и LINQ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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