|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVostt, Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2015, 18:26 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Алексей КНу поджойнит по первичному ключу да отделит. Не вижу проблемы. Я в том примере делаю примерно то же самое. Чтобы что-то поджойнить, нужно сначала это получить. А получает он это через нулловые грабли, о которых я писал выше. То есть он интерпритирует левую выборку с одним типом операции, правую выборку - с другим типом. Чисто подход отмороженного гавнокодера. Если добавится еще один или несколько типов операции, его архитектора складывается как карточный домик. Абсолютно нерасширяемое решение в виде гвоздей - нагадил и забыл. Вместо того, чтобы дополнить модель с коллекциями дополнительным признаком, он использует высер из каши в коллекции. hVosttМСУНу протестируй экстеншены. В чем проблема? Я не понимаю проблемы, которую ты высосал из пальца. Или ты предлагаешь минимум писать код и максимум его грузить откуда-то из нугета от пионеров, которые уже протестировали свои поделки? Я правильно понял? Нет, пилять, копипастить куски непонятного кода ХЗ откуда Ну так лучше копипастить очевидное с правильных ресурсов, чем цеплять на каждый чих какие-то левые гавносборки от прыщавых пионеров с нугета. Так? hVosttМСУДа, это не аналог left join, это и есть left join. Абсолютно верно. Так в чем твои страхи-то? Написать строчку кода - это проблема? это не есть left join, это синтаксически совершенно разные конструкции, хотя результат один и тот же. с точки зрения получения результата вопросов нет, покрайней мере left можно получить сравнительно малой кровью . но вот full outer без кастомных громоздких экстеншенов нечитабелен чуть менее, чем полностью, так что не ипай нам тут мозг своей хернёй Ну так если задача решается "малой кровью", зачем нужно что-то еще? hVosttМСУМеня-то не заклинило, я решаю проблемы по мере их поступления, а не несу очередную околопоносицу про какие-то жуткие страшилки о том, что нужно весь код сливать из нугета, потому что он уже протестирован. Потому что тестирование это для тебя нечто неведомое, давай не мажся, просто ты не умеешь пользоваться тестами (_не умеешь их готовить_). Но это не мои проблемы, а твои А что такого неведомого в этом тестировании, что нельзя познать простому смертному вроде меня? Или ты познал джао-да и не желаешься этим делиться? По-моему, даже любой студент отшельник в силах написать тесты. А вот осилить LINQ ты так и не можешь. hVosttМСУЭто называется каша и в голове и в коде. Бизнес модель должна явным образом отражать данные и операцию, которую нужно с ними проделать. Вместо вываливания кашей этого в full outer join, сделай себе объект с n коллекциями и признаком, что нужно делать с этой коллекцией - добавлять, изменять, удалять. Такая модель легко тестируется и живет. Во-вторых, я так и не понял, как ты собираешься отделять в своей каше элементы, которые нужно добавить, изменить, удалять? Идея, конечно, заслуживает медали маразматика, но всё же. эээммм... Код: c# 1. 2. 3. 4. 5. 6. 7.
тибе как маленькому надо обиснять? Тут только добавить и удалить. А где изменить? :) Дада, сейчас пойдут отмазы и вой... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2015, 19:59 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУАлексей КНу поджойнит по первичному ключу да отделит. Не вижу проблемы. Я в том примере делаю примерно то же самое. Чтобы что-то поджойнить, нужно сначала это получить. А получает он это через нулловые грабли, о которых я писал выше. То есть он интерпритирует левую выборку с одним типом операции, правую выборку - с другим типом. Чисто подход отмороженного гавнокодера. Если добавится еще один или несколько типов операции, его архитектора складывается как карточный домик. Абсолютно нерасширяемое решение в виде гвоздей - нагадил и забыл. Вместо того, чтобы дополнить модель с коллекциями дополнительным признаком, он использует высер из каши в коллекции.Будут специфичные типы операций - будет другое решение. Чё привязался? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 06:41 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Алексей КБудут специфичные типы операций - будет другое решение. Чё привязался? Я другого ответа и не ожидал. Нужен будет балкон, подсунем новый фундамент ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 08:59 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУНу так лучше копипастить очевидное с правильных ресурсов, чем цеплять на каждый чих какие-то левые гавносборки от прыщавых пионеров с нугета. Так? Просто у тебя не выработана привычка тестировать код. Чего ты мажешься? Видно, что пишешь по принципу «на авось». МСУНу так если задача решается "малой кровью", зачем нужно что-то еще? Относительно малой кровью пишется только простой left join, он читается хуже, но для опытного LINQ-щика всё-таки читается, однако это не касается full outer. Если бы подобные синтаксические конструкции сразу ввели бы в LINQ, мы бы сейчас об этом не спорили. Вопрос только в том, что помешало этому. МСУА что такого неведомого в этом тестировании, что нельзя познать простому смертному вроде меня? Или ты познал джао-да и не желаешься этим делиться? По-моему, даже любой студент отшельник в силах написать тесты. А вот осилить LINQ ты так и не можешь. Чё там осиливать? МСУТут только добавить и удалить. А где изменить? :) Дада, сейчас пойдут отмазы и вой... Какие отмазы? Изменение состава коллекции это и есть добавить/удалить. Что ты менять собрался в айдишниках? Набор битов? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 10:58 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttПросто у тебя не выработана привычка тестировать код. На основе каких предпосылок сделано это искромётное утверждение? hVosttВидно, что пишешь по принципу «на авось». Не говори, особенно когда начинаешь выборки по нуллам из кросс джойна разгребать. МСУНу так если задача решается "малой кровью", зачем нужно что-то еще? hVosttОтносительно малой кровью пишется только простой left join, он читается хуже, но для опытного LINQ-щика всё-таки читается, однако это не касается full outer. Так я вообще за то, чтобы full outer join выбросить на помойку. Не нужен он в прикладной логике. Как сделать внятную модель с CRUD коллекциями, я написал выше. В данной задаче full outer join притянут ща уши и, более того, беспощадно вреден. hVosttЕсли бы подобные синтаксические конструкции сразу ввели бы в LINQ, мы бы сейчас об этом не спорили. Вопрос только в том, что помешало этому. Ну так давай все костыли мира воткнём в LINQ. И будет счастье. Так? hVosttЧё там осиливать? Ну хотя бы то, что по твоему утверждению "лямбда в LINQ компилируется в... Expression". Попал? hVosttКакие отмазы? Изменение состава коллекции это и есть добавить/удалить. Что ты менять собрался в айдишниках? Набор битов? Десятый раз повторить про кейс, когда нужно не только добавить и удалить, но и еще и изменить? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 11:32 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУНа основе каких предпосылок сделано это искромётное утверждение? Потому что ты этого не делаешь. Сужу по кладезю твои «рецептов». Кроме ты заявляешь «чего там тестировать»... Короче не мажся. МСУНе говори, особенно когда начинаешь выборки по нуллам из кросс джойна разгребать. И? МСУТак я вообще за то, чтобы full outer join выбросить на помойку. Не нужен он в прикладной логике. Как сделать внятную модель с CRUD коллекциями, я написал выше. В данной задаче full outer join притянут ща уши и, более того, беспощадно вреден. Какие-то сплошные необоснованные нелепые утверждения. МСУНу так давай все костыли мира воткнём в LINQ. И будет счастье. Так? Какие ещё костыли? Давай может уберём костыль join? Вот ты бредишь... МСУНу хотя бы то, что по твоему утверждению "лямбда в LINQ компилируется в... Expression". Попал? автор Лямбда-выражение — это анонимная функция, которую можно использовать для создания таких типов как делегаты или деревья выражений. С помощью лямбда-выражений можно написать локальные функции, которые затем можно передавать в другие функции в качестве аргументов или возвращать из них в качестве значения. Лямбда-выражения особенно полезны для составления выражений запросов LINQ. МСУДесятый раз повторить про кейс, когда нужно не только добавить и удалить, но и еще и изменить? :) Изменяй, какие проблемы. Если слева (оригиальная коллекция) null — добавляешь, если справа (изменённая коллекция) null — удаляешь, если оба не null — обновляешь. Простецкий алгоритм. В чём проблемы? Если мы изменяем только состав Id, то изменение это и есть удаление/добавление, всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 13:10 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttПотому что ты этого не делаешь. Сужу по кладезю твои «рецептов». Кроме ты заявляешь «чего там тестировать»... Короче не мажся. Твоя логика даже быка в ступор поставит. Тесты есть, но только в определенных местах модели. Тестировать 2 LINQ запроса у меня нет времени. Писать тесты ради тестов - удел маразматиков. hVosttМСУНе говори, особенно когда начинаешь выборки по нуллам из кросс джойна разгребать. И? Что и, плохо это и неправильно. hVosttМСУТак я вообще за то, чтобы full outer join выбросить на помойку. Не нужен он в прикладной логике. Как сделать внятную модель с CRUD коллекциями, я написал выше. В данной задаче full outer join притянут ща уши и, более того, беспощадно вреден. Какие-то сплошные необоснованные нелепые утверждения. Я же обосновал. hVosttМСУНу так давай все костыли мира воткнём в LINQ. И будет счастье. Так? Какие ещё костыли? Твои костыли, типа full outer join. hVosttДавай может уберём костыль join? Его сделали в коробке. Поэтому непонятно, как ты его уберешь. Да и как его убирать, без него не сделать ни left join, ни cross join, ни full join. Где профит? hVosttМСУНу хотя бы то, что по твоему утверждению "лямбда в LINQ компилируется в... Expression". Попал? автор Лямбда-выражение — это анонимная функция, которую можно использовать для создания таких типов как делегаты или деревья выражений. С помощью лямбда-выражений можно написать локальные функции, которые затем можно передавать в другие функции в качестве аргументов или возвращать из них в качестве значения. Лямбда-выражения особенно полезны для составления выражений запросов LINQ. Зачем ты занимаешься тупым копипастом из справки? Ты же ляпнул, что лямбда в LINQ компилируется в expression, забыл, что ли? hVosttМСУДесятый раз повторить про кейс, когда нужно не только добавить и удалить, но и еще и изменить? :) Изменяй, какие проблемы. Если слева (оригиальная коллекция) null — добавляешь, если справа (изменённая коллекция) null — удаляешь, если оба не null — обновляешь. Простецкий алгоритм. В чём проблемы? Если мы изменяем только состав Id, то изменение это и есть удаление/добавление, всё. Какие-то околопоносные грабли и местячковые договоренности. Почему не сделать внятную модель и отдавать IEnumerable<ModifiedObject<T>> с любыми типам операций? Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 14:16 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУТвоя логика даже быка в ступор поставит. Тесты есть, но только в определенных местах модели. Тестировать 2 LINQ запроса у меня нет времени. Писать тесты ради тестов - удел маразматиков. Чё ты несешь, в очередной раз спрашиваю? Тесты никогда не пишутся ради тестов. Есть определённая реализация, к ней пишется тест, проверяющий и доказывающий правильную работу. Если тестами покрыта только часть реализации, значит это хреновое покрытие, и толку от него мало. Что это ещё за глупый бред про «определённые места модели»? МСУЯ же обосновал. Где? В своих фантазиях? МСУТвои костыли, типа full outer join. full outer join это конкретная операция над множеством, практически всеми СУБД она поддерживается из коробки. LINQ это язык запросов, который на сегодняшний момент очень многого лишён. «Костыли» — это твои безумные необоснованные бредни. МСУЗачем ты занимаешься тупым копипастом из справки? Ты же ляпнул, что лямбда в LINQ компилируется в expression, забыл, что ли? «Лямбда-выражение — это анонимная функция, которую можно использовать для создания таких типов как делегаты или деревья выражений .» Ты читать умеешь? МСУКакие-то околопоносные грабли и местячковые договоренности. Почему не сделать внятную модель и отдавать IEnumerable<ModifiedObject<T>> с любыми типам операций? Речь идёт о реализации, а не о проектировании моделей. Тебя ещё и шизофренией подкосило? Я дал алгоритм конкретного решения, ты выкатил интерфейс класса, который ничего не делает. Жопу с пальцем сравниваешь. Ты не заболел случаем? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 14:38 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttты выкатил интерфейс класса *определение класса а то сейчас ещё на эту тему мозг колупнёшь ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 14:40 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttЧё ты несешь, в очередной раз спрашиваю? Тесты никогда не пишутся ради тестов. Есть определённая реализация, к ней пишется тест, проверяющий и доказывающий правильную работу. Если тестами покрыта только часть реализации, значит это хреновое покрытие, и толку от него мало. Что это ещё за глупый бред про «определённые места модели»? Да мне фиолетово, кто и как делает тесты. Одни их фанатично пишут даже больше, чем рабочего кода. Другие - меньше. Третьи вообще не пишут. У четвертых есть хорошие тестировщики. Пятые - неандертальцы вроде тебя. Определенные места модели - это определенные методы и классы модели. Неполное покрытие. hVosttМСУЯ же обосновал. Где? В своих фантазиях? Ты читаешь через задний проход, я это уже понял. Фантазии выражены тут 17240720 hVosttМСУТвои костыли, типа full outer join. full outer join это конкретная операция над множеством, практически всеми СУБД она поддерживается из коробки. LINQ это язык запросов, который на сегодняшний момент очень многого лишён. «Костыли» — это твои безумные необоснованные бредни. LINQ - это не СУБД. Что поддерживается в СУБД мало кого интересует. Костыли - это твои упоротые "оттестированные" решения. hVostt«Лямбда-выражение — это анонимная функция, которую можно использовать для создания таких типов как делегаты или деревья выражений .» Ты читать умеешь? И что ты этим хочешь сказать? Что лямбда в LINQ компилируется в expression? Ответь да или нет, не дергайся как нервозный червяк Ответь прямо на мой вопрос. hVosttМСУКакие-то околопоносные грабли и местячковые договоренности. Почему не сделать внятную модель и отдавать IEnumerable<ModifiedObject<T>> с любыми типам операций? Речь идёт о реализации, а не о проектировании моделей. Тебя ещё и шизофренией подкосило? Я дал алгоритм конкретного решения, ты выкатил интерфейс класса, который ничего не делает. Жопу с пальцем сравниваешь. Ты не заболел случаем? Ну так реализация у тебя - откровенный тухляк. Теперь я понимаю, почему ты много тестируешь код. Потому что он дурно пахнет ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 16:44 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУДа мне фиолетово, кто и как делает тесты. Одни их фанатично пишут даже больше, чем рабочего кода. Другие - меньше. Третьи вообще не пишут. У четвертых есть хорошие тестировщики. Пятые - неандертальцы вроде тебя. Определенные места модели - это определенные методы и классы модели. Неполное покрытие. Что за неуместные разглагольствования? Растёкся тут жижей по кафелю, понимаешь. Есть билд-сервер, он подтягивает изменения из репы, прогоняет тесты и только если все 100% тесты отработали делает деплой или собирает билд. Это строго формализованный процесс. Нет никаких «определённых мест», кроме твоего больного воображения. По «определённым местам» можно только проверить как ты убрался в квартире: провёл пальцем по полке шкафа — есть пыль? Значит нехрена ты не убирался! Нет пыли — какой же ты молодчина! Так что не впаривай свой детский сад с «определёнными местами». МСУТы читаешь через задний проход, я это уже понял. Фантазии выражены тут 17240720 Извини, но это чушь. Если бы всё обосновывалось и доказывалось таким образом, ты бы сейчас не кодил, а на дереве сидел и гадил под себя поедая бананы. «Нулловые грабли» какие-то придумал. МСУLINQ - это не СУБД. Что поддерживается в СУБД мало кого интересует. Костыли - это твои упоротые "оттестированные" решения. Так утверждаешь, как будто я где-то говорил, что LINQ это СУБД. Я говорил про операции над множествами. Это не обязательно должна быть база данных и трансляция в SQL. Операция полное внешнее соединение (full outer join) по сути является объединением полного левого соединения и полного правого соединения. Если бы ты пошевелил мозгами, а не повилял задницей, то просто бы сказал почему в LINQ нет операторов left join, right join, full outer join. Имеется совершенно логичная причина (не надо даже лазить по MSDN и искать какие-то пруфы), почему в итоге приходиться обходиться говяным кривым решением используя DefaultIfEmpty -- потому что вот это как раз и есть костыль. МСУИ что ты этим хочешь сказать? Что лямбда в LINQ компилируется в expression? Ответь да или нет, не дергайся как нервозный червяк Ответь прямо на мой вопрос. Я хочу сказать, что лямбды используются для создания дерева выражений. Слово «компилируется» тебя смутило, да? Стоит не так выразиться, так ты мёртвого разбудишь, и с кокашками съешь МСУНу так реализация у тебя - откровенный тухляк. Теперь я понимаю, почему ты много тестируешь код. Потому что он дурно пахнет Я привёл пример реализации. Ты пока знатно попукал. Предложи другое решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2015, 01:22 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttЧто за неуместные разглагольствования? Растёкся тут жижей по кафелю, понимаешь. Есть билд-сервер, он подтягивает изменения из репы, прогоняет тесты и только если все 100% тесты отработали делает деплой или собирает билд. Это строго формализованный процесс. Нет никаких «определённых мест», кроме твоего больного воображения. А бывает нету билд сервера, он не подтягивает изменения из репы и не прогоняет тесты. Почему? Потому что не только билдом можно выполнить задачи - например как ты сделаешь ретракт и деплой wsp пакета из студии? Да и нужна ли автоматизация тут, вопрос. Собирать билды в песочнице для многих не нужно. Есть система контроля версий, есть user stories и tasks в TFS, есть контрольные точки. Всегда можно сделать билд по ним. Никаких проблем. hVosttПо «определённым местам» можно только проверить как ты убрался в квартире: провёл пальцем по полке шкафа — есть пыль? Значит нехрена ты не убирался! Нет пыли — какой же ты молодчина! Так что не впаривай свой детский сад с «определёнными местами». 100% убраться в квартире - похоже на гувернантку. Чисто твой подход, понимаю. До разработки ты еще не дорос Определенные места - это не 100% покрытие. Тебя это пугает? hVosttМСУТы читаешь через задний проход, я это уже понял. Фантазии выражены тут 17240720 Извини, но это чушь. Если бы всё обосновывалось и доказывалось таким образом, ты бы сейчас не кодил, а на дереве сидел и гадил под себя поедая бананы. «Нулловые грабли» какие-то придумал. Почему чушь? Ты забиваешь гвозди в выборку, отделяя мух от котлет через какие-то чудо нуллы. Архитектура канализационного уровня чё. hVosttМСУLINQ - это не СУБД. Что поддерживается в СУБД мало кого интересует. Костыли - это твои упоротые "оттестированные" решения. Так утверждаешь, как будто я где-то говорил, что LINQ это СУБД. Я говорил про операции над множествами. Это не обязательно должна быть база данных и трансляция в SQL. Операция полное внешнее соединение (full outer join) по сути является объединением полного левого соединения и полного правого соединения. Если бы ты пошевелил мозгами, а не повилял задницей, то просто бы сказал почему в LINQ нет операторов left join, right join, full outer join. Имеется совершенно логичная причина (не надо даже лазить по MSDN и искать какие-то пруфы), почему в итоге приходиться обходиться говяным кривым решением используя DefaultIfEmpty -- потому что вот это как раз и есть костыль. Я вообще не понимаю, почему ты LINQ постоянно пытаешься стыковать с функционалом СУБД. Мол в SQL есть же такие функции, почему их нет в LINQ. Ну ведь бред же. Почему DefaultIfEmpty - это кривое решение? hVosttМСУИ что ты этим хочешь сказать? Что лямбда в LINQ компилируется в expression? Ответь да или нет, не дергайся как нервозный червяк Ответь прямо на мой вопрос. Я хочу сказать, что лямбды используются для создания дерева выражений. Слово «компилируется» тебя смутило, да? Стоит не так выразиться, так ты мёртвого разбудишь, и с кокашками съешь Ну хоть сейчас ты начал аккуратно следить за своим пустопорожним языком, осторожничаешь? hVosttМСУНу так реализация у тебя - откровенный тухляк. Теперь я понимаю, почему ты много тестируешь код. Потому что он дурно пахнет Я привёл пример реализации. Ты пока знатно попукал. Предложи другое решение. Ты привёл какашку. А теперь, обосравшись, с умным выражением лица пытаешься удержаться в канализационных стоках на плаву. Решение уже было 100500 раз предложено. Перечитай топик. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 14:42 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУА бывает нету билд сервера, он не подтягивает изменения из репы и не прогоняет тесты. Почему? Потому что не только билдом можно выполнить задачи - например как ты сделаешь ретракт и деплой wsp пакета из студии? Да и нужна ли автоматизация тут, вопрос. Собирать билды в песочнице для многих не нужно. Есть система контроля версий, есть user stories и tasks в TFS, есть контрольные точки. Всегда можно сделать билд по ним. Никаких проблем. Да, в лабораторных работах студентов не нужны никакие билды. А студия прекрасно работает с тестами. Сделал изменения, прогнал тесты — значит всё ок. МСУПочему чушь? Ты забиваешь гвозди в выборку, отделяя мух от котлет через какие-то чудо нуллы. Архитектура канализационного уровня чё. Какие претензии к нуллам не пойму? И при чём архитектура? Какая ещё нафиг архитектура, о ней вообще речь не шла. МСУЯ вообще не понимаю, почему ты LINQ постоянно пытаешься стыковать с функционалом СУБД. Мол в SQL есть же такие функции, почему их нет в LINQ. Ну ведь бред же. Почему DefaultIfEmpty - это кривое решение? Это костыль, потому что полное левое соединение невозможно выполнить на типах значений , и здесь тебе даже DefaultIfEmpty мало чем поможет, если только значение по умолчанию тебя устроит в качестве отсутствия значения. Если бы результатом выполнения LINQ была бы не типизированная коллекция (Object), то DefaultIfEmpty был бы не нужен, и можно было бы ввести left/right/full join. Стыковать LINQ с функционалом СУБД -- вполне логичная задача, с которой очень многие и очень часто сталкиваются. Будешь отрицать? Или будешь чесать про какую-то меташизику? МСУНу хоть сейчас ты начал аккуратно следить за своим пустопорожним языком, осторожничаешь? Слопал значит? Ну ок МСУТы привёл какашку. А теперь, обосравшись, с умным выражением лица пытаешься удержаться в канализационных стоках на плаву. Решение уже было 100500 раз предложено. Перечитай топик. Мне не надо ничего перечитывать я помню что ты предложил. Ты предложил изменить условия задачи, поменять задачу, а не решать её. Ввести какие-то уродские типы операции, вместо того, чтобы решить задачу. Ничего особенного в ней нет, встречается часто, решается и никаких проблем никто кроме тебя не испытывает. Никто не воняет про какую-то не такую архитектуру, как будто на всём белом свете у каждой задачи имеется только одно единственно правильное решение — так думать это удел недалёких шизиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 16:13 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttДа, в лабораторных работах студентов не нужны никакие билды. А студия прекрасно работает с тестами. Сделал изменения, прогнал тесты — значит всё ок. Да, если ларёк по продаже арбузов решил блеснуть умением настраивать серверные билды, то почет ему и уважение. hVosttКакие претензии к нуллам не пойму? И при чём архитектура? Какая ещё нафиг архитектура, о ней вообще речь не шла. Модель должна прозрачно отражать своё предназначение, а не засирать мозг нуллами и прочей магической отрибутикой. hVosttЭто костыль, потому что полное левое соединение невозможно выполнить на типах значений , и здесь тебе даже DefaultIfEmpty мало чем поможет, если только значение по умолчанию тебя устроит в качестве отсутствия значения. Если бы результатом выполнения LINQ была бы не типизированная коллекция (Object), то DefaultIfEmpty был бы не нужен, и можно было бы ввести left/right/full join. Стыковать LINQ с функционалом СУБД -- вполне логичная задача, с которой очень многие и очень часто сталкиваются. Будешь отрицать? Или будешь чесать про какую-то меташизику? Так левое соединение можно даже через GroupJoin выразить, чего ты докопался до DefaultIfEmpty? Стыковать LINQ не нужно, он не СУБД. hVosttМСУНу хоть сейчас ты начал аккуратно следить за своим пустопорожним языком, осторожничаешь? Слопал значит? Ну ок Слопал что? Твой позапрошлогодний высер про "компиляцию" в expression? hVosttМне не надо ничего перечитывать я помню что ты предложил. Ты предложил изменить условия задачи, поменять задачу, а не решать её. Ввести какие-то уродские типы операции, вместо того, чтобы решить задачу. Ничего особенного в ней нет, встречается часто, решается и никаких проблем никто кроме тебя не испытывает. Никто не воняет про какую-то не такую архитектуру, как будто на всём белом свете у каждой задачи имеется только одно единственно правильное решение — так думать это удел недалёких шизиков. Условие задачи не меняется, меняется форма представления результата. Программист вправе выбирать эту форму сам. Я выбрал обычный типизированный подход, который 100% отражает предметику. Ты выбрал способ молодого неофита с неспособностью мыслить. С таким же успехом ты мог всё закодировать в base64, а потом парсить. Типичный подход обезумевших обезьянок. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 16:27 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУДа, если ларёк по продаже арбузов решил блеснуть умением настраивать серверные билды, то почет ему и уважение. С учётом того, что ты там про «особенные места» несёшь, ты походу дальше ларька с арбузами и не продвинулся. Иди лабы помогай студентам писать, и мозги не клюй. МСУМодель должна прозрачно отражать своё предназначение, а не засирать мозг нуллами и прочей магической отрибутикой. Шта? Прозрачно отражать? Ахахаххаахх... .аааа... уморил 0))) Ты чё там употребляешь? Нормально говорить можешь? МСУТак левое соединение можно даже через GroupJoin выразить, чего ты докопался до DefaultIfEmpty? Стыковать LINQ не нужно, он не СУБД. Да что ты? Ну-ка покеж полное левое соединение на GroupJoin без DefaultIfEmpty. А то смотрю ты уже чешешь что-то попало не разбирая дороги Я говорил про множества, а LINQ это язык запросов. СУБД это не язык запросов, так что капитан очевидность крепко тебе жмёт руку — ты знатно из себя идиота строишь )) Почти поверил. МСУУсловие задачи не меняется, меняется форма представления результата. Программист вправе выбирать эту форму сам. Я выбрал обычный типизированный подход, который 100% отражает предметику. Ты выбрал способ молодого неофита с неспособностью мыслить. С таким же успехом ты мог всё закодировать в base64, а потом парсить. Типичный подход обезумевших обезьянок. Ну и нах мне решение задачи, которую ты сам же себе выдумал? Я вообще-то предоставил конкретные данные, которые уходят на клиента, и данные, которые в ответ приходят. Ты же начинаешь сношать мозг: модели понимаешь не те, архитектура понимаешь не та, подход понимаешь не тот. Это наверное у тебя руки-крюки, раз такая простецкая задачка вызывает поток неосознанной фантазии Решение я дал вполне конкретное, оно работает, и претензий ни у кого к такому решению никогда не было. Оно прекрасно тестируется, никакого оверхеда (с какими-то галимыми костыльными типами операции, бред вообще), оно универсально, и оно отлично работает. Каких-то очевидных проблем с этим решением я не вижу, а ты их не указал. Понимаешь твоё «способ неофита» — это НИ О ЧЁМ. Это квакание обезьянки. В цирке можешь людей посмешить. Или всё-таки можешь обосновать? Давай. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 17:06 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУСлопал что? Твой позапрошлогодний высер про "компиляцию" в expression? ... — Молодой человек, уступи ветерану место, я в 45-ом ногу потерял. — Чё ты гонишь, старик!? Ехал я в 45-ом, не было там твоей ноги! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 17:11 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttМСУДа, если ларёк по продаже арбузов решил блеснуть умением настраивать серверные билды, то почет ему и уважение. С учётом того, что ты там про «особенные места» несёшь, ты походу дальше ларька с арбузами и не продвинулся. Иди лабы помогай студентам писать, и мозги не клюй. Чем тебя испугали обособленные места? Или ты тестируешь всегда 100%, тестер ты наш сизокрылый? hVosttМСУМодель должна прозрачно отражать своё предназначение, а не засирать мозг нуллами и прочей магической отрибутикой. Шта? Прозрачно отражать? Ахахаххаахх... .аааа... уморил 0))) Ты чё там употребляешь? Нормально говорить можешь? Какой-то невнятный высер. Сформулируй еще раз мысль. hVosttМСУТак левое соединение можно даже через GroupJoin выразить, чего ты докопался до DefaultIfEmpty? Стыковать LINQ не нужно, он не СУБД. Да что ты? Ну-ка покеж полное левое соединение на GroupJoin без DefaultIfEmpty. А то смотрю ты уже чешешь что-то попало не разбирая дороги Что такое "полное" левое соединение? Решил на нобелевский лауреат пойти? Вот тебе обычный left outer join, выраженный через GroupJoin без DefaultIfEmpty. Код: c# 1.
hVosttЯ говорил про множества, а LINQ это язык запросов. СУБД это не язык запросов, так что капитан очевидность крепко тебе жмёт руку — ты знатно из себя идиота строишь )) Почти поверил. Тебе рано еще про множества, маленький. Пока LINQ не осилишь, тебя к множествам даже на пушечный выстрел нельзя подпускать hVosttНу и нах мне решение задачи, которую ты сам же себе выдумал? Я вообще-то предоставил конкретные данные, которые уходят на клиента, и данные, которые в ответ приходят. Ты же начинаешь сношать мозг: модели понимаешь не те, архитектура понимаешь не та, подход понимаешь не тот. Это наверное у тебя руки-крюки, раз такая простецкая задачка вызывает поток неосознанной фантазии Еще раз подчеркиваю, я выдумал не задачу, а конкретное решение. Обычно, это работа программистов, если ты не в курсе. Хотя у кого я спрашиваю, иди тестируй лучше hVosttМСУСлопал что? Твой позапрошлогодний высер про "компиляцию" в expression? ... — Молодой человек, уступи ветерану место, я в 45-ом ногу потерял. — Чё ты гонишь, старик!? Ехал я в 45-ом, не было там твоей ноги! Папа накричал на маму. Мама накричала на сына. Сын накричал на кошку. Кошка насрала всем в тапочки. Мораль: бесправный - не значит безопасный! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 17:27 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУЧем тебя испугали обособленные места? Или ты тестируешь всегда 100%, тестер ты наш сизокрылый? Да, конечно. Какой тогда смысл в тестировании? Особенно это важно в командной разработке. В своих наколенных поделках конечно можно и не тестировать. МСУВот тебе обычный left outer join, выраженный через GroupJoin без DefaultIfEmpty. Код: c# 1.
Это тоже самое, что и DefaultIfEmpty, я то думал... МСУЕще раз подчеркиваю, я выдумал не задачу, а конкретное решение. Обычно, это работа программистов, если ты не в курсе. Хотя у кого я спрашиваю, иди тестируй лучше Ты придуриваешься? Там нет в задаче твоих половых признаков. Долго будешь тупить? Работа программиста — решать поставленную задачу, а не строить из себя идиота, а ты уже в который раз с упёртостью достойной всяческих похвал делаешь морду дурачком. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 17:37 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttс упёртостью достойной всяческих похвал"лучшего применения" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 17:40 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУТебе рано еще про множества, маленький. Пока LINQ не осилишь, тебя к множествам даже на пушечный выстрел нельзя подпускать Ты уж извини, но кому кому, а LINQ тебе надо ещё учить и учить. Ты только что выше лажанул, потому что твоё решение с GroupJoin не является левым соединением, как ты обещал. Всё потому, что ты тупо оказывается даже не знаешь что такое множества и как с ними работать. Так что иди учи матчасть. Левое соединение он с GroupJoin делает... Посмешил ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 17:44 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttМСУЧем тебя испугали обособленные места? Или ты тестируешь всегда 100%, тестер ты наш сизокрылый? Да, конечно. Какой тогда смысл в тестировании? Особенно это важно в командной разработке. В своих наколенных поделках конечно можно и не тестировать. Везде есть своя золотая середина, главное без фанатизма. Это к вопросу "тестирования" пары строк кода на LINQ. hVosttМСУВот тебе обычный left outer join, выраженный через GroupJoin без DefaultIfEmpty. Код: c# 1.
Это тоже самое, что и DefaultIfEmpty, я то думал... Это не тоже самое, что DefaultIfEmpty. Во-вторых, можно выразить и через GroupJoin + SelectMany, вот там нужно использовать DefaultIfEmpty. Как видишь, варианты есть. Учи LINQ, маленький. hVosttМСУЕще раз подчеркиваю, я выдумал не задачу, а конкретное решение. Обычно, это работа программистов, если ты не в курсе. Хотя у кого я спрашиваю, иди тестируй лучше Ты придуриваешься? Там нет в задаче твоих половых признаков. Долго будешь тупить? При придуряешься? Десятый раз повторяю, не в моей задаче, а моей реализации. Не путай теплое с мягким. Задача одна, решений много. Твоё решение - пустопорожнее гавно. hVosttРабота программиста — решать поставленную задачу, а не строить из себя идиота, а ты уже в который раз с упёртостью достойной всяческих похвал делаешь морду дурачком. Так вот ты решаешь задачу через задний проход. Неужели непонятно? hVosttМСУТебе рано еще про множества, маленький. Пока LINQ не осилишь, тебя к множествам даже на пушечный выстрел нельзя подпускать Ты уж извини, но кому кому, а LINQ тебе надо ещё учить и учить. Ты только что выше лажанул, потому что твоё решение с GroupJoin не является левым соединением, как ты обещал. Всё потому, что ты тупо оказывается даже не знаешь что такое множества и как с ними работать. Так что иди учи матчасть. Левое соединение он с GroupJoin делает... Посмешил Ну ты даже с GroupJoin обделался, назвав его тем же самым, что и DefaultIfEmpty. Такое может ляпнуть только пришибленный ушлепок ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 18:07 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Хвостик, так ты не ответил. Что такое "полное" левое соединение? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2015, 18:08 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУВезде есть своя золотая середина, главное без фанатизма. Это к вопросу "тестирования" пары строк кода на LINQ. Какая разница столько там строк? МСУТак вот ты решаешь задачу через задний проход. Неужели непонятно? Представь себе, не понятно. Почему ты так решил? У тебя похоже большие проблемы с объяснением своих же слов, поэтому ты моментально опускаешь до уровня проходов и личностных оценок. МСУНу ты даже с GroupJoin обделался, назвав его тем же самым, что и DefaultIfEmpty. Такое может ляпнуть только пришибленный ушлепок Для частного случая это тоже самое. Для общего случая твоё решение с GroupJoin не является аналогом left join, и результат их работы может отличаться. Но тебе-то что, ты можешь жопу назвать аналогом пальца, тебе не впервой ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 12:54 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
МСУХвостик, так ты не ответил. Что такое "полное" левое соединение? Когда ответить по существу нечего, МСУ начинает придираться к словам. Что же такое, оу ты сказал «полное»? Такого в книжках нетю, ааахахахахах... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 12:56 |
|
|
start [/forum/topic.php?fid=20&msg=38878402&tid=1401906]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
133ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 248ms |
0 / 0 |