powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Выполнение LINQ-запроса внутри условного оператора
25 сообщений из 220, страница 2 из 9
Выполнение LINQ-запроса внутри условного оператора
    #39155433
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215авторНавига тебе if?


Я так понял вопрос звучит так: Нафига тебе If?

Отвечаю: Надо Федя, надо...
Ветки if всегда можно впихнуть в where.
Не нужен тебе if, не нужен Федя!
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156100
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если условия Where кардинально отличаются, а если результирующие выборки запросов имеют разную структуру, а если LINQ-запросы ВООБЩЕ РАЗНЫЕ (один из двух таблиц, а другой из 5)? Да и может возникнуть ситуация, когда запихивание всего в один запрос будет слишком громоздким и трудночитаемым...

В общем, Федя, дело вкуса...
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156142
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215А если условия Where кардинально отличаются,

Учи логику.
Иван215а если результирующие выборки запросов имеют разную структуру,

if не поможет
Иван215а если LINQ-запросы ВООБЩЕ РАЗНЫЕ (один из двух таблиц, а другой из 5)?

Учи логику.
Иван215 Да и может возникнуть ситуация, когда запихивание всего в один запрос будет слишком громоздким и трудночитаемым...

Если того требует задача, то оно так и будет.
Иван215В общем, Федя, дело вкуса...
Если не мыслить множествами, тогда и LINQ не нужен особо.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156174
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может я сам решу, что мне учить.

Linq предназначен не только для логических операций над множествами (intersect и далее по списку). Например операция JOIN носит совсем другой характер - SQL-овское пересечение таблиц.

Сам подучись малость.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156289
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ух, ни хрена ж себе борзота!
Человек, который элементарно не владеет понятием интерфейса и не умеющий объявить класс, советует ЕвгениюВ подучиться.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156899
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С чего ты взял что я не владею понятием интерфейса?

Или что я не умею объявлять классы? Речь шла о помощи в конкретной ситуации.

Или что я не знаком с логикой?

И хамить не надо. Это не культурно. Это пещерный уровень общения. Всякие там <ни хрена>, <борзота>

И ты, уважаемый господин Shocker - вместо того, чтобы нормально ответить, как это сделал Александр, перегрузил тему демагогией и дурацкими нравоучениями, от которых толку никакого - если ты так о ТОЛКЕ заботишься.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156906
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И чего кипятиться то. Отвечайте по существу.

авторЕсли не мыслить множествами, тогда и LINQ не нужен особо.


Если за пределами обработки множеств Евгению LINQ особо не нужен - так это его личное дело. За всех то не надо отвечать.

Я же ответил конкретно - операция LINQ JOIN или например GROUP не имеет ничего общего c операциями над множествами (объединение, пересечение и вычитание).

С теорией множеств, как и с математической логикой знаком прекрасно. Причем с теорией множеств еще со школы.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156916
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215, "я все знаю, но ничего не понимаю" не находишь абсурда в этом утверждении?

Сведи все к одному запросу, VB не знаю, примерно так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
            Dim Q_Rec = _
                From RT In DT.AsEnumerable() _
                Where CStr(RT!PROFCODE) = (md == 1 ? "37":"09") _
                Select New With { _
                    .ID = RT!ID, _
                    .CODE_LPU = RT.Field(Of String)("CODE_LPU"), _
                    .PROFCODE = RT.Field(Of String)("PROFCODE"), _
                    .USL_OK = RT.Field(Of Long)((md == 1 ? "USL_OK" : "CODE_USL")}


Конструкция
Код: c#
1.
<expression> ? <if_true> : <if_false>


означает если <expression> истина, то берется <if_true> иначе <if_false>
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156945
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima спасибо за труд. Просьба привести цитату, где я сказал, что ВСЕ понимаю.

Еще немного информации. Теория множеств и математическая логика (если Вы это имеете в виду) появились лет за 200 до появления компьютеров и следовательно программирования.

Если я сказал, что ИМЕЮ ПОНЯТИЕ (об интерфейсах) или могу (на некотором уровне) работать с классами, это не означает, что я владею этими предметами в совершенстве, ибо я здесь (на форуме) нахожусь из-за недостатка знаний, а не по причине демонстрации уровня своей компетентности, как это, по моим наблюдениям, делают некоторые участники.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156955
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще немного эмоций. Прямо болезнь какая-то - всех тянет на обобщения.

Спросил - как описать класс для объявления переменной LINQ запроса - был сделан вывод, что я не имею понятия о классах вообще.

Теперь вот сообщают - что я ничего не понимаю.

Да, в VB.NET недавно - 5 месяцев - переделываю большую программу с Visual FoxPro. В чем-то разобрался и использую, что-то пытаюсь понять, что-то отложил на потом.

Откуда вывод про НИЧЕГО не понимаю?

Кто-то предлагает посоревноваться в хамстве. Вроде культурные люди здесь собрались, или вежливость - пережиток прошлого (особенно видимо в Москве)?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156966
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Dima спасибо за труд. Просьба привести цитату, где я сказал, что ВСЕ понимаю.
Это проистекает из твоей самоуверенности, везде в твоих постах так и сочится "не учите меня жить, просто помогите материально". То что я тебе привел это тупая банальность для любого ЯП, если ты не в курсе банальностей, то ...
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156994
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор везде в твоих постах так и сочится "не учите меня жить, просто помогите материально"


В моих постах сочится значит?

Вы что полагаете, я пришел на этот форум, чтобы меня учили жить?

Если Вы думаете, что я - студент, то глубоко ошибаетесь. Давно вышел из студенческого возраста - был студентом еще при СССР-е.

Совершенно верно - пришел спросить совета (практического) или решения проблемы. А меня посылают - пойди мол, книжки почитай, а я вот дам подсказку... А ответа давать не буду - все равно толку никакого не будет. А! Ты знаешь логику - ой какой самоуверенный!

Проясните, что Вы имеете в виду под материальной помощью. И как ее здесь ПРАВИЛЬНО получить.

Или необходимо, чтобы сочилось что-то вроде этого: Помогите слабоумному и безпомощному, о светила языка LINQ и его окрестностей, да сохраниться о вас память в веках, да воздвигнете себе памятники нерукотворные?

Конструкция приведенная Вами содержится НЕ ВО ВСЕХ ЯП, да думаю Вы и не можете похвастаться (в меру Вашей собственной самоуверенности), что знаете все (ЯП).

Далее. Конструкция - да - вполне банальная. А вот то, что она допустима для применения в языке LINQ - это не очевидно. LINQ вообще чрезвычайно новая придумка от Microsoft, и с какого бодуна упоминать здесь о всяких разных ЯП? Будет ли она применима в LINQ - зависело единственно от каприза отцов-основателей.

Простой пример.

В ЯП Visual FoxPro - выражения для столбцов Grid-а можно было писать какие угодно, даже пользовательские функции можно было использовать.

А вот для вычисляемых колонок DOTNET-овского DataGridView понаписали кучу ограничений и все сузили до безобразия. Вот и подумайте что банально, а что нет.

И в заключение. Почему хамство простительно, а померещившаяся самоуверенность выносится на порицание?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39156998
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перечитываю всю тему после охватившего меня чувства глубокого раскаяния за проявленную самоуверенность.

Вот ответ человека находящегося в состоянии похмелья после приступа чувства глубокого удовлетворения своей высочайшей компетентностью:

авторПочему выдает ошибку? Потому что у Object нет метода Count. Почему я дал совет использовать Object. А ты до этого ничего не говорил про Count. Что теперь делать? Использовать IEnumerable или IQueryable. Что это такое. Ну ё-моё, перепечатывать главы из учебника на форум занятие бессмысленное.


А вот что отвечает вполне нормальный вежливый человек (на другом форуме):

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
        Dim Q_Rec2 As Object

        Q_Rec2 = _
            (From RT In DT.AsEnumerable() _
            Where Left(CStr(RT!PERSCODE), 1) = "7" _
            Select _
                RT!ID, _
                RT!CODE_LPU, _
                RT!PERSCODE, _
                RT!CODE_USL).ToList()



И все - проблема решена - всего-то - добавить .ToList() - простое и изящное решение.

Далее:

авторТо есть нужно не программу нормально работающую сделать, не научиться делать правильно, не разобраться в механизмах работы, не иметь перспективу повышать свою квалификацию. Единственная задача - чтобы компилятор ошибку не выдавал.


и

авторИтого: В учебнике есть ответ на твой вопрос. Если бы ты его прочитал, тебе бы не потребовалось обращаться на форум именно с этим вопросом. Но ты предпочитаешь такой вариант - ты ничего не делаешь, мы пишем тебе программу, ты получаешь за нее деньги, нам говоришь "большое спасибо". Прекрасный подход!


Уважаемый Shocker! Мне был НУЖЕН ПРАКТИЧЕСКИЙ СОВЕТ. А теперь скажи, сердечный, а ТЕБЕ ЧЕГО НАДО? Денег выслать авансом, сказать какой ты умный и какой я тупой, фотку прислать, где я на коленях стою и челом бью? Чего?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157008
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начал было писать возражения... потом решил, лучше принесу-ка я свои глубочайшие извинения за те оскорбления, которые я здесь в горячке допустил, и закроем на этом тему. Ибо убедить тебя ни в чем не получится, а кто прочитает эту тему, тому и так все понятно.




ЗЫ: Иван215А вот то, что она допустима для применения в языке LINQ - это не очевидно.Для информации: Linq - по сути это не язык, это просто набор методов расширения над одним из интерфейсов .Net, написанный на .Net же, можно самостоятельно написать все те же методы, отключив ссылку на штатный Linq. Соответственно, в нем применимо все то, что применимо и в другом месте программы.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157029
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторИбо убедить тебя ни в чем не получится


Извинения принимаются, уважаемый Schocker! Очень, очень рад такому неожиданному повороту событий. Да, Вы правы, ни в чем убеждать не надо. В моем то возрасте - начинать жить по новым принципам! Особенность форумов в том, что в большинстве случаев человек и понятия не имеет, с кем общается, совершенно не зная другого неизвестного ему человека - своего собеседника. Почему-то это, по моим наблюдениям, мало, или совсем не принимается во внимание.

Мой программистский стаж около 26 лет. Я начинал еще на ЕС-овской технике, и много всего на своем веку переосваивал. Давно выработались свои собственные подходы к освоению того или иного предмета (ведь все люди разные - один обкладывается учебниками, другой сразу начинает писать программу и пробовать как и что работает, а в книжки заглядывает лишь при крайней необходимости).

Теперь насчет выгоды и денег. Да, и скрывать не стану - я РАБОТАЮ, а не УЧУСЬ (скажем в ВУЗе). И получаю за это ДЕНЬГИ. И помощь форумчан СУЩЕСТВЕННО ПОМОГАЕТ порой сократить мой не очень радостный труд. Разве ТАКОЕ положение вещей ЗАПРЕЩЕНО на данном форуме? Часто, чтобы решить простую проблему полдня занимаюсь поиском в интернете, и не найдя ответа, обращаюсь на форум. Что тут предосудительного? Исходя из моего уровня знаний - мой режим - это задавание вопросов - отвечаю только тогда, когда нахожу решение сам, не дождавшись ответа по теме. Да - я нахожусь в потребительском режиме. Честно и прямо об этом говорю.

авторСоответственно, в нем применимо все то, что применимо и в другом месте программы.


Это неверно, смотри мое замечание про вычисляемые колонки DataGridView. Спорить не буду - пусть LINQ не язык. Но это некоторая, и скажем прямо, очень заковыристая языковая конструкция, гораздо менее прозрачная, пожалуй, чем все его предшественники. И повторюсь, что в конструкциях языка LINQ будет работать, а что нет - все было в воле его создателей, которые подчас руководствуются никому не понятной логикой. Ибо уже много раз натыкался на крайне нелогичные места DOTNET-а.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157034
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Это неверно, смотри мое замечание про вычисляемые колонки DataGridView.Колонки DataGridView не имеют никакого отношения к Linq. Linq выдает результат, который может быть применен где угодно. DataGridView потребляет результат, который может сформирован различными способами, а не только с помощью Linq. Так что, повторюсь, они друг к другу не имеют никакого отношения.

Иван215гораздо менее прозрачная, пожалуй, чем все его предшественники.Иван215руководствуются никому не понятной логикой.Вот эти категорические суждения исключительно от недостатка теории. Linq совершенно логичен, его методы совершенно понятны и могут быть воспроизведены самостоятельно. Нелогичной может казаться запись его операторов в виде sql-подобного синтаксиса, если не знаешь, что за этими операторами скрывается. К примеру, твой запрос в обычном синтаксисе будет выглядеть как цепочка простых методов, где каждый следующий метод применяется к результату предыдущего:
Код: c#
1.
var Q_Rec = DT.AsEnumerable().Where(n => n.PROFCODE.ToString()=="37").Select(n => new { n.ID, n.Field(..... }).ToList()

(это c#, на VB.Net будет просто другой синтаксис)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157049
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛИНК на басике это просто порно зельда какая то.

Но ты давай, Ваня, жги!

ЗЫ. Линк на самом деле нелогичен, полно статей на эту тему.

За знаниями!

[img=http://vignette2.wikia.nocookie.net/zelda/images/2/27/Link_(Phantom_Hourglass).png]

Блин, ну какой же убогий движок форума, даже картинку не линкануть (((
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157053
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Мой программистский стаж около 26 лет.Кстати, коллега, моему стажу тоже 26 в этом году исполнится
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157055
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый Shocker!

Вы не внимательно читаете.

Во-первых, я привел пример с DataGridView безо всякого отношения к LINQ. Просто как пример совершенно нелогичных и создающих огромное количество проблем ограничений. Вы только представьте, как было бы здорово, если бы в выражении для вычисляемых колонок DataGridView можно было писать все что душе угодно. После Visual FoxPro, где была полная свобода, это воспринимается как жуткий геморрой.

То же самое касается и нелогичных моментов DOTNET-а - они в данном моем контексте не имеют совершенно никакого отношения к LINQ.

Про неглубокое знание теории. Вы знаете - весь этот новодел - LINQ и далее по списку - настолько молоды, что говорить и подводить под них теорию очень преждевременно. И, кстати о птичках, неизвестно сколько они проживут в переменчивом мире IT.

И я бы с удовольствием заменил бы слово теория на слово ТЕОРИИ. Это как в физике - тьма теорий - одни уходят, другие приходят.

Есть в поднебесной только одна незыблемая дисциплина - математика - вот там - все вечно и непоколебимо.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157057
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор Линк на самом деле нелогичен, полно статей на эту тему.


Да пусть нелогичен, да на здоровье. Но это ЕДИНСТВЕННАЯ ЛАЗЕЙКА на DOTNET-е работать (в смысле серьезно работать) с DataSet и DataTable. И напав на нее, у меня отлегло. Ведь я пришел с Фокса и с DBF - вот где был простор - крути связи и Select-ы на клиенте как хочешь. Пришел в VB.NET - ну тоска зеленая - геморрой на геморрое с этим XML и Dataset-ами. А вот теперь, похоже, с LINQ-ом (LINQ To DataSet) вроде прорвемся.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157058
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215LINQ и далее по списку - настолько молоды, что говорить и подводить под них теорию очень преждевременнопод теорией я имел ввиду исключительно знания, как он устроен, а не теорию в понимании дисциплины и изучения каких-то моделей применения. Возможно термин был не очень удачен )
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157067
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кстати, не подскажете, что делает метод .AsEnumerable. Формально, конечно, можно писать его и не задумываясь, или просто полагая, что он DataTable преобразует в нечто съедобное для LINQ - то есть в реализацию интерфейса IENumerable.

Но все-таки любопытно, что он делает на самом деле

Код: vbnet
1.
DT.AsEnumerable()
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157069
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
var Q_Rec = DT.AsEnumerable().Where(n => n.PROFCODE.ToString()=="37").Select(n => new { n.ID, n.Field(..... }).ToList()



Да я где-то это встречал... М-да неплохо, немного проясняется голова. А эти методы - Where, Select и далее по списку - кажется расширения IEnumerable(Of T).

Но этот лямбда синтаксис... Сжигает остатки мозга.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157072
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215преобразует в нечто съедобное для LINQ - то есть в реализацию интерфейса IENumerable.именно так, если быть точнее - в IEnumerable<DataRow>

Иван215кажется расширения IEnumerable(Of T)именно

Иван215Но этот лямбда синтаксис... Сжигает остатки мозга.Никто не мешает использовать полный синтаксис делегата, чтобы не сжигать мозг. Лямбда - просто укороченная запись, которая позволяет легко конструировать делегат или Expression по месту применения.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157140
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215А кстати, не подскажете, что делает метод .AsEnumerable. Формально, конечно, можно писать его и не задумываясь, или просто полагая, что он DataTable преобразует в нечто съедобное для LINQ - то есть в реализацию интерфейса IENumerable.

Но все-таки любопытно, что он делает на самом деле

Код: vbnet
1.
DT.AsEnumerable()

18700219 18701219
...
Рейтинг: 0 / 0
25 сообщений из 220, страница 2 из 9
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Выполнение LINQ-запроса внутри условного оператора
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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