Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУВо-первых, табличных переменных не было в MS SQL 2000.Были, есть. Нет. Появились table variable только в 2005. Алексей КНе нужны никакие права. Нужны. На tempdb. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 10:08 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
МСУАлексей Кпропущено... Были, есть. Нет. Появились table variable только в 2005. Алексей КНе нужны никакие права. Нужны. На tempdb.По обоим пунктам ты не прав. Подробности тут . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 10:19 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
Алексей КПо обоим пунктам ты не прав. Подробности тут . https://msdn.microsoft.com/ru-ru/library/ms174979.aspx Разрешения: Временные таблицы в базе данных tempdb может создавать любой пользователь. Нет доступа к tempdb, нельзя создавать временные таблицы. По второму вопросу про табличные переменные: 11270136 5577527 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 10:31 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
МСУНет доступа к tempdb, нельзя создавать временные таблицы.Не понял, почему может не быть доступа к tempdb. Всегда был. МСУПо второму вопросу про табличные переменные: 11270136 5577527 Ну и что. Они ведь там есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 10:56 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
Алексей КМСУНет доступа к tempdb, нельзя создавать временные таблицы.Не понял, почему может не быть доступа к tempdb.Ну явно можно запретить :) База данных tempdb Разрешения Любой пользователь может создавать временные объекты в базе данных tempdb. Если не предоставлены какие-либо дополнительные разрешения, то пользователи могут производить доступ только к тем объектам, которыми они владеют. Существует возможность отменить разрешение на соединение с базой данных tempdb , чтобы пользователь не мог ей пользоваться, но этого делать не рекомендуется , так как база данных tempdb необходима для работы некоторым подпрограммам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 11:13 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
skyANAАлексей Кпропущено... Не понял, почему может не быть доступа к tempdb.Ну явно можно запретить :)Но зачем? Если хочется всё сломать, есть гораздо более эффективные способы. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 11:19 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
Алексей КskyANAпропущено... Ну явно можно запретить :)Но зачем?А фиг знает. На форуме про это потом пофлеймить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 11:34 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
Алексей КhVosttпропущено... выкуси! это CTE, работает так быстро, как это позволяет СУБД, а на поверку в MS SQL, Oracle, Postrges оно работает охерительно быстро, даже на огромных таблицах.Были случаи, когда не удавалось добиться нормального плана выполнения CTE запроса в MSSQL2012. Так что тут не всё так однозначно. Серебряной пилюли нет. Честно говоря решение с использованием поля path я применял всего один раз в жизни, но там это было уместно, не предполагалось никакого переподчинения, уровней иерархии было много, и много было запросов именно с учётом путей. Но сейчас я бы легко обошёлся без path, так как это самое дебильное решение из всех, что только можно придумать. Грубо говоря, выключи нафиг мозг и используй path, как-то так. Почему CTE хорош, потому что при правильной нормализации таблиц, никаких проблем с ним нет. Если же проектировать БД через жопу, тут уж ничего не поможет, только монстячить убогие SQL-конструкции, чтобы как-то выжить нужную производительность и целостность. Ну что поделаешь, мозги не всем при рождении выдаются, поэтому часто вижу такое говнище, что дурно становится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 11:49 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
hVosttСеребряной пилюли нет. Честно говоря решение с использованием поля path я применял всего один раз в жизни, но там это было уместно, не предполагалось никакого переподчинения, уровней иерархии было много, и много было запросов именно с учётом путей. Но сейчас я бы легко обошёлся без path, так как это самое дебильное решение из всех, что только можно придумать. Грубо говоря, выключи нафиг мозг и используй path, как-то так. Мне тоже path не очень нравится, слишком уж накладно его поддерживать и нету никакой ссылочной целостности. Это лишь вариант оптимизации. hVosttПочему CTE хорош, потому что при правильной нормализации таблиц, никаких проблем с ним нет. Если же проектировать БД через жопу, тут уж ничего не поможет, только монстячить убогие SQL-конструкции, чтобы как-то выжить нужную производительность и целостность. Ну что поделаешь, мозги не всем при рождении выдаются, поэтому часто вижу такое говнище, что дурно становится. CTE помогает на откровенно жирных деревьях, без него никак. Но большинство иерархий, с которыми приходится работать (оргштатка, какие-то несложные бизнес процессы) можно запилить на чистом EF без применения вьюх и CTE. И это работает быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 11:54 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
МСУМне тоже path не очень нравится, слишком уж накладно его поддерживать и нету никакой ссылочной целостности. Это лишь вариант оптимизации. Как оптимизация подойдёт вполне, согласен. МСУCTE помогает на откровенно жирных деревьях, без него никак. Но большинство иерархий, с которыми приходится работать (оргштатка, какие-то несложные бизнес процессы) можно запилить на чистом EF без применения вьюх и CTE. И это работает быстро. На небольших деревьях, типа штатки конечно можно легко обойтись без лишнего оверхеда. Тем более я даже операций таких не вижу для штатки, где понадобился CTE, её даже в кеше можно держать без проблем. В общем, согласен с принципом, что если что-то можно сделать нативно, делай это нативно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 12:00 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
hVosttПочему CTE хорош, потому что при правильной нормализации таблиц, никаких проблем с ним нет.Проблемы были как рас с "правильной нормализованной" структурой таблиц. CTE был вложенным запросом в разделе where и никак не хотел правильно работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 12:05 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
skyANAАлексей Кпропущено... Но зачем?А фиг знает. На форуме про это потом пофлеймить :)Согласен. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 12:07 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
Имеет ли смысл задрачивать спецификацию языка до последней буквы, если можно быть просто средним программистом и использовать анализатор кода ? К чему все эти "издевательства" на собеседованиях в "крутые компании" - у них что, нет денег на анализатор? Каким бы ты ни был гуру, а всё равно делаешь кучу ошибок. Т. е. анализатор всё равно нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2015, 07:15 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
НемоКэп42Имеет ли смысл задрачивать спецификацию языка до последней буквы, если можно быть просто средним программистом и использовать анализатор кода ? К чему все эти "издевательства" на собеседованиях в "крутые компании" - у них что, нет денег на анализатор? Каким бы ты ни был гуру, а всё равно делаешь кучу ошибок. Т. е. анализатор всё равно нужен. Я уверен, что если бы Кармака собеседовали в Гугле или Яндексе, при этом не знаю, что Кармак это Кармак, то он бы пролетел. Крышки люков и "мы требуем писать код на бумажке на коленке" - это вам не квейки какие-нибудь и не аэроспейс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2015, 07:16 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
Далее там по ошибкам в коде... Ну, где он там прогонял код через кучу анализаторов и получалось, что он говнокодер. :) Хе-хе, как раз тот случай, когда объём всякого рода поддержки может на порядок превысить объём самого продукта. По разным показателям, не только по цене. Например, объём кода юнит-тестов при почти 100% покрытии этими юнит-тестами, может на порядок превышать объём кода, которые эти тесты тестируют. Разработка через тестирование, говорите? Платите миллиарды - мы вам хоть апельсин затестируем до умопомрачения. Зато вы будете кушать самый безопасный и самый безошибочный апельсин в мире! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2015, 07:21 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
ОлдФагЗдравствуйте! Так сложилась судьба, что я до недавнего времени сидел на VS2005 и NET2.0 , меня в принципе все устраивало, а сам C# особо ничем не напрягал, программирование и методики ничем не выделялись. Но тут я решил, что пора идти в ногу со временем и начал изучать, хотя бы, C# 4.0. Из которого мне на голову посыпалось куча фишек в виде всяких лямбд и линкью. У меня просто вот просьба, научите правильно их читать, я нифига не понимаю, селект в конце, что к чему, а это => шо значит, я просто хочу думать этими выражениями , а не тупо заучивать примеры Шилдта.Вот слегка осилил, теперь руки чешутся во всех своих проектах найти массиво-цикло-дрочь и срочно переписать на линкью! А что предпочитают многоуважаемые форумчане: синтаксис запросов или цепочки методов расширений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 19:48 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
ОлдФагА что предпочитают многоуважаемые форумчане: синтаксис запросов или цепочки методов расширений? В большинстве случаев цепочки методов расширений получаются короче, поэтому предпочитаем их. Но в некоторых случаях синтаксис запросов намного понятнее, поэтому используется он. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 20:33 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
Оба варианта равносильны и взаимозаменяемы на все 100% или есть исключения, какие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2015, 22:35 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
ОлдФагОба варианта равносильны и взаимозаменяемы на все 100% или есть исключения, какие? Они равносильны и взаимозаменяемы. Однако, часто запросы, записанные двумя разными способами, совершенно не похожи, так что с первого взгляда и не скажешь, что они равнозначны. Несколько ссылок на мои сообщения: тынц1 , тынц2 , 15591993 . Кроме let в синтаксисе запросов удобно применять orderby: просто перечисляем через запятую все свойства, по которым нужно последовательно отсортировать. А в синтаксисе методов нужно сперва писать OrderBy, а затем для каждого следующего ThenBy: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2015, 01:43 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
ОлдФагА что предпочитают многоуважаемые форумчане: синтаксис запросов или цепочки методов расширений?вот тут довольно подробно ответили LINQ: кто какой синтаксис использует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2015, 11:44 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
petalvikА в синтаксисе методов нужно сперва писать OrderBy, а затем для каждого следующего ThenBy: Код: c# 1. EF такое понимает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2015, 11:52 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
Shocker.ProОлдФагА что предпочитают многоуважаемые форумчане: синтаксис запросов или цепочки методов расширений?вот тут довольно подробно ответили LINQ: кто какой синтаксис использует? спасибо, нашел для себя хинт: D129А для меня - нет. Я использую флюент только в очевидных случаях, когда точно знаю, что ошибки в логике нет. У меня мышление такое - императивный подход мне ближе. :-) Чужие флюенты мне читать сложно - если вдруг он не сделал, что ожидалось - начинаю разделять, чтобы выцепить где проблема. Еще по началу (сейчас уже меньше нужно, привык), писал имя переменной (и во флюенте тоже) с префиксом each (from eachItem in Items) - тоже помогает не париться, что же имеется в виду - при написании условий ниже. Само предложение выглядит уже совсем по человечески. :-) теперь проще жить ... немного P.S. Меня еще мучает один вопрос: Неужели все успевают изучать весь стек технологий майкрософт и дотНет в частности, как? Сколько нужно тратить помимо работы времени на самообучение? Я вот вообще не могу угнаться... какие есть хитрости в этом плане, как держаться на плаву, как быть хотя бы в среднем вагоне состава, а не бежать позади по шпалам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 10:39 |
|
||
|
Понимание лямбд и LINQ
|
|||
|---|---|---|---|
|
#18+
ОлдФагкак держаться на плаву, как быть хотя бы в среднем вагоне состава, а не бежать позади по шпалам? Про бизнес-класс, в компанию к МСУ , хВосту и СкайАне я даже и не претендую ... Они точно знают какой-то секрет ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2015, 10:45 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38920966&tid=1356475]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 379ms |

| 0 / 0 |
