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

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
If md = 1 Then
            Dim Q_Rec = _
                From RT In DT.AsEnumerable() _
                Where CStr(RT!PROFCODE) = "37" _
                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)("USL_OK")}
        Else
            Dim Q_Rec = _
                From RT In DT.AsEnumerable() _
                Where CStr(RT!PROFCODE) = "09" _
                Select New With { _
                    .ID = RT!ID, _
                    .CODE_LPU = RT.Field(Of String)("CODE_LPU"), _
                    .PROFCODE = RT.Field(Of String)("PROFCODE"), _
                    .CODE_USL = RT.Field(Of Long)("CODE_USL")}
        End If



Компилятор выдает ошибку - Q_Rec не объявлен, а предварительно объявить этот пресловутый анонимный тип выше моих сил.

Есть ли решение этой проблемы (кроме разнесения LINQ-запросов по разным процедурам)?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155150
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как ты хочешь объявить Q_Rec предварительно, если он РАЗНЫЙ в двух запросах?

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

Пардон, а что такое тернарный оператор?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155155
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, забыл сказать - я пишу на VB.NET.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155157
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если не затруднит, приведите пример описания для данного конкретного случая (с Q_Rec1 и Q_Rec2)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155159
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вообще не очень понимаю тогда, что требуется.

Если две разные ветки программы, в одной требуется Q_Rec1, а в другой Q_Rec2, то и программа тогда должна продолжаться внутри этих веток, там, где объявлены эти переменные, иначе неясен смысл ветвления, в результате которого получаются два разных результата двух разных типов.

Иван215а предварительно объявить этот пресловутый анонимный тип выше моих сил.ну во-первых тут два типа, а не один. И в чем проблема объявить типы не анонимно?
Иван215Пардон, а что такое тернарный оператор?If(bar = buz, cat, dog)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155163
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторИ в чем проблема объявить типы не анонимно?


Ну подскажите тогда как объявить тип не анонимно.

Я просто пример привел. Реальная процедура слишком большая. Смысл такой - нужно в одной процедуре выполнять разные LINQ-запросы в зависимости от некоторых условий, а потом обрабатывать результаты запросов - в одной процедуре обрабатывать, ветвление нежелательно - тогда придется результаты LINQ-запросов преобразовывать в таблицы DataTable и передавать их в вызывающую процедуру как параметр. Как передавать результат запроса в видепараметра вообще непонятно - ибо как можно передать НЕИЗВЕСТНО ЧТО в виде параметра.

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

Код: vbnet
1.
MsgBox(Q_Rec.GetType().ToString())



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

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim Q_Rec = _
            From RT In DT.AsEnumerable() _
            Where Left(CStr(RT!PERSCODE), 1) = "7" _
            Select _
                RT!ID, _
                RT!CODE_LPU, _
                RT!PERSCODE, _
                RT!CODE_USL
       
        MsgBox(Q_Rec.GetType().ToString())



Получаю результат, смотри миниатюру.

Вставляю перед запросом описание:

Код: vbnet
1.
Dim Q_Rec As System.Data.EnumerableRowCollection`1[VB$AnonymousType_7`4[System.Object,System.Object,System.Object,System.Object]]



Компилятор сообщает - недопустимый символ (там где этот инопланетный штрих стоит в обратную сторону наклоненный).

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

Все это означает, что вообще-то нужно открыть учебник по VB.NET и начать его читать, если даже встает вопрос о том, как объявить тип - а ведь объявление типов - одна из первых глав учебника.

Я, конечно, могу что-то подсказать точечно, но толку мало от этого - если в начальных знаниях даже не пробел, а прямо-таки черная дыра. Почитай про типы, про объявление типов, про универсальные (в других переводах "обобщенные" или "дженерики" (на жаргоне)) типы. Попробуй понять суть интерфейсов.


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



Ну, объявил:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
        Dim Q_Rec As Object

        Q_Rec = _
            From RT In DT.AsEnumerable() _
            Where Left(CStr(RT!PERSCODE), 1) = "7" _
            Select _
                RT!ID, _
                RT!CODE_LPU, _
                RT!PERSCODE, _
                RT!CODE_USL
        'End If

        MsgBox(Q_Rec.GetType().ToString())

        If Q_Rec.Count() = 0 Then
            MsgBox("Записей не найдено", MsgBoxStyle.Information, "Сообщение")
        Else



И получил, смотри миниатюру.

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

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


Ну написал же черным по белому - зачем - что компилятор ОШИБКУ НЕ ВЫДАВАЛ.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155182
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа форумчане, еще раз обращаюсь.

Подскажите пожалуйста (дайте практический совет) как сделать так чтобы нижеследующий фрагмент кода не выдавал ошибки компиляции (Q_REC1 и Q_Rec2 - не объявлены)

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
If md = 1 Then
            Dim Q_Rec1 = _
                From RT In DT.AsEnumerable() _
                Where Left(CStr(RT!PROFCODE), 1) = "7" _
                Select  _
                    RT!ID, _
                    RT!CODE_LPU, _
                    RT!PERSCODE, _
                    RT!CODE_USL
Else
            Dim Q_Rec2 = _
                From RT In DT.AsEnumerable() _
                Where CStr(RT!PROFCODE) = "09" _
                Select _
                    RT!ID, _
                    RT!CODE_LPU, _
                    RT!PROFCODE, _
                    RT!CODE_USL
End If

If md = 1 Then
   ' Обработка Q_Rec1
Else
   ' Обработка Q_Rec2
End If
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155183
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторЯ, конечно, могу что-то подсказать точечно, но толку мало от этого


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

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

Ок, учебник читать не будем, как работает Linq не знаем, что такое интерфейс IEnumerable в частности и интерфейсы в принципе - знать не хотим. Итак для чего же нужны форумы? Получается, чтобы за тебя делать ту работу, в которой ты не только не разбираешься (это поправимо, если есть желание), но и не хочешь разбираться (а вот тут уже тупик).

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


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

Иван215На хрена тогда форумыВот тут есть хороший ответ 16726098 Ах да - мы же не читатели, а там букв много. Ну ладно, тогда кратко - для того, чтобы отвечать на сложные вопросы, а не обучать азам языка.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155187
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Господа форумчане, еще раз обращаюсь.

Подскажите пожалуйста (дайте практический совет) как сделать так чтобы нижеследующий фрагмент кода не выдавал ошибки компиляции (Q_REC1 и Q_Rec2 - не объявлены)

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
If md = 1 Then
            Dim Q_Rec1 = _
                From RT In DT.AsEnumerable() _
                Where Left(CStr(RT!PROFCODE), 1) = "7" _
                Select  _
                    RT!ID, _
                    RT!CODE_LPU, _
                    RT!PERSCODE, _
                    RT!CODE_USL
Else
            Dim Q_Rec2 = _
                From RT In DT.AsEnumerable() _
                Where CStr(RT!PROFCODE) = "09" _
                Select _
                    RT!ID, _
                    RT!CODE_LPU, _
                    RT!PROFCODE, _
                    RT!CODE_USL
End If

If md = 1 Then
   ' Обработка Q_Rec1
Else
   ' Обработка Q_Rec2
End If



Именно этот? Вот так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
If md = 1 Then
            Dim Q_Rec1 = _
                From RT In DT.AsEnumerable() _
                Where Left(CStr(RT!PROFCODE), 1) = "7" _
                Select  _
                    RT!ID, _
                    RT!CODE_LPU, _
                    RT!PERSCODE, _
                    RT!CODE_USL
            ' Обработка Q_Rec1
Else
            Dim Q_Rec2 = _
                From RT In DT.AsEnumerable() _
                Where CStr(RT!PROFCODE) = "09" _
                Select _
                    RT!ID, _
                    RT!CODE_LPU, _
                    RT!PROFCODE, _
                    RT!CODE_USL
            ' Обработка Q_Rec2
End If
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155188
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Можешь подсказать - так подскажи - о том и просьба была. А ты перечитай сначала. Я даю подсказку - ты следующим шагом упираешься в следующую проблему и так несколько раз.
Иван215А думать о том, сколько толку от этого будет - не твоя забота.Так я заранее вижу, что толку не будет, что и доказывают последующие грабли, на которые ты натыкаешься
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155191
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... Повторяю еще раз - РАДИОСТАНЦИЯ НА БРОНЕТРАНСПОРТЕРЕ! Да не работает же. Компилятор ошибку выдает - Q_Rec1 и Q_Rec2 - не объявлены.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155192
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я выполняю запрос:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim Q_Rec1 = _
                From RT In DT.AsEnumerable() _
                Where Left(CStr(RT!PROFCODE), 1) = "7" _
                Select  _
                    RT!ID, _
                    RT!CODE_LPU, _
                    RT!PERSCODE, _
                    RT!CODE_USL



В результате получаю некий объект - Q_Rec1.

И выходит следующее - я не могу (и пока ответа не получил, все подсказки какие-то) определить тип ЭТОГО ОБЪЕКТА, чтобы взять
и перед запросом написать оператор:

Код: vbnet
1.
Dim Q_Rec1 As ...



Нет ребята, это полное дерьмо.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155244
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Нет ребята, это полное дерьмо.
Согласен, и нет ни малейшего желания в него погружаться.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155256
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Dim Q_Rec 

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

        MsgBox(Q_Rec.GetType().ToString())

        If Q_Rec.Count() = 0 Then
            MsgBox("Записей не найдено", MsgBoxStyle.Information, "Сообщение")
        End If



Вот так все работает.

Тестовый пример:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        Dim Q_Rec

        Q_Rec = _
            (From RT In {1, 2, 3, 7, 7, 7, 8} _
            Where RT = 7 _
            Select _
                RT).ToList()
        'End If

        MsgBox(Q_Rec.GetType().ToString())

        If Q_Rec.Count() = 0 Then
            MsgBox("Записей не найдено", MsgBoxStyle.Information, "Сообщение")
        End If
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155347
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215,
Навига тебе if?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
  Dim Q_Rec = _
                From RT In DT.AsEnumerable() _
                Where (CStr(RT!PROFCODE) = "37" AND md = 1)  OR (CStr(RT!PROFCODE) = "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)("USL_OK")}
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155361
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Александр, проверил - все работает. Не знаю как Вас благодарить - Вы залатали черную дыру в моих познаниях.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155362
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторНавига тебе if?


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

Отвечаю: Надо Федя, надо...
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39155365
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Евгений! Я просто пример выбрал неудачно - LINQ-запросы в разных ветках сильно похожи. Но мне нужно было универсальное решение - когда они могут сколь угодно сильно отличаться.
...
Рейтинг: 0 / 0
Выполнение 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
Выполнение LINQ-запроса внутри условного оператора
    #39157142
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Но этот лямбда синтаксис... Сжигает остатки мозга.Надо было в институте алгебру, матан, матлогику и прочее посещать, иммунитет бы выработался :)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157282
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще один умник.

Все сие посещал и прекрасно успевал по этим предметам + Общая Алгебра + Аналитическая геометрия + Теория Функций комплексного переменного + Дискретная математика + Функциональный анализ + Теория Вероятностей + продолжать?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157295
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215продолжать?Да.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157310
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215А кстати, не подскажете, что делает метод .AsEnumerable. Формально, конечно, можно писать его и не задумываясь, или просто полагая, что он DataTable преобразует в нечто съедобное для LINQ - то есть в реализацию интерфейса IENumerable.

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

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


Вообще, LINQ сам по себе позволяет выполнять часто встречающиеся операции над множествами (списками/перечислениями/наборами) некоторых, вообще говоря однотипных элементов. Поиск, фильтрация, группировка, преобразование и т. д.
По сути сами алгоритмы эти не зависят не от структуры ни множеств, ни самих элементов. Вот LINQ и реализует эти алгоритмы, например для операции фильтрации нам нужно лишь условие фильтра и оно будет использоваться в любом случае.
В императивном (интуитивно понятном) алгоритме, мы будем в цикле проходить один набор данных, смотреть, удовлетворяет ли текущий элемент фильтру и если да, засовывать его во временный контейнер, последний и будет результатом.
В LINQ же, нам достаточно просто передать в метод where функцию фильтрации и мы получим аналогичный результат.
Но в первом случае, мы будем писать больше кода, что чревато большими затратами времени и большим количеством ошибок.
И все это счастье нам будет если используемый контейнер всего навсего реализует IEnumerable, (вообще говоря IEnumerator). Но DataTable сделали при царе Горохе, когда матерые программисты с 26 летним стажем были совсем зелеными юнцами с 10 летним стажем и когда не было LINQ.
Конкретно AsEnumerable у DataTable сделали для красоты, эквивалентная конструкция
Код: c#
1.
DataTable.Rows.Cast<DataRow>()


Но про Cast редкий программист знает, не зависимо от стажа.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157327
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут еще может возникнуть путаница с DataTable.AsEnumerable() (я бы назвал ToEnumerable), это очень похоже на IEnumerable.AsEnumerable(), реализация которого делает ровно то, что возвращает переданный аргумент.
Полная чушь конечно! Если бы не одно но!
Интерфейсу IEnumerable наследует IQueryable, который имеет методы расширения аналогичные IEnumerable, которые принимают не делегаты, а деревья выражений.
То есть вызов AsEnumerable() для IQueryable позволит передать выполнение дальнейших действий методам расширения для IEnumerable.
А вызов AsQueryable для IEnumerable позволит использовать деревья выражений, которые вообще говоря можно сформировать во время исполнения.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157417
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВНо про Cast редкий программист знает, не зависимо от стажа.

Это шутка? Это же основы LINQ. Самые-самые.

Вообще меня удивляют слова ТС об огромном стаже и великолепной успеваемости по всем предметам. ToList() - это замечательно, очень полезная функция, но отнюдь не универсальная. В целом сказано все правильно - "разные типы - разная обработка". Либо создайте один тип и с ним работайте. Эти плюшки в виде анонимных типов для тех, кто понимает, что это такое и не задает глупых вопросов. При этом не нужно даже знать LINQ, чтобы понимать базовые вещи. А то так можно и до рефлексии дойти, чтобы у разных классов сравнивать одинаковые свойства.
ТС, если вам нужно проверять только Count - вычислите только его. Если у Вас есть набор нужных полей - создайте класс, и пишите в него через LINQ. У Вас не будет никаких сложностей.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157582
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Еще один умник.

Все сие посещал и прекрасно успевал по этим предметам + Общая Алгебра + Аналитическая геометрия + Теория Функций комплексного переменного + Дискретная математика + Функциональный анализ + Теория Вероятностей + продолжать?Расслабься. Шуток не понимаешь?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157685
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxЕвгенийВНо про Cast редкий программист знает, не зависимо от стажа.

Это шутка? Это же основы LINQ. Самые-самые.



Не шутка, действительно многие не знают.


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

Все сие посещал и прекрасно успевал по этим предметам + Общая Алгебра + Аналитическая геометрия + Теория Функций комплексного переменного + Дискретная математика + Функциональный анализ + Теория Вероятностей + продолжать?
А в чем тогда затык?
Банальный определенный интеграл можно понимать как функцию высшего порядка, которая принимает функцию первого порядка в качестве аргумента.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157735
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВAddxпропущено...


Это шутка? Это же основы LINQ. Самые-самые.



Не шутка, действительно многие не знают.

А про основы шутка?
Я то всегда полагал, что LINQ зиждется на примесях, функциях высшего порядка, лямбдах, анонимных типах и автоматическом выводе типов...

Многие и LINQ не знают, но Cast - это основа.

Насчет "примесей" ;) не знаю, но LINQ ни в коем случае не держится на анонимных типах и лямбдах. LINQ - расширенный набор методов для манипуляции коллекциями (IEnumerable, IQueryble) и прекрасно работает без анонимных типов и лямбд. Иногда пользоваться анонимными типами просто вредно.

Например,

Код: c#
1.
var a = from ... where ... select new MyType(){MyField1 = ..., MyField2 = ...}



коллекция типа MyType без всякой анонимности.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157749
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Addx LINQ - расширенный набор методов для манипуляции коллекциями (IEnumerable, IQueryble) и прекрасно работает без анонимных типов и лямбд.
Вот что бы этот "расширенный набор" работал, нужны примеси, вывод типов, анонимные типы и лямбды.
Попробуй в LinqToSql например передать не лямбду, но функцию.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157765
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВAddx LINQ - расширенный набор методов для манипуляции коллекциями (IEnumerable, IQueryble) и прекрасно работает без анонимных типов и лямбд.
Вот что бы этот "расширенный набор" работал, нужны примеси, вывод типов, анонимные типы и лямбды.
Попробуй в LinqToSql например передать не лямбду, но функцию.

Давайте не будет смешивать. Я написал в первую очередь про анонимные типы.
Я написал, что если ты не понимаешь сути - то это зло. Судя по всему, понимают немногие.
При чем тут LinqToSQL я вообще не понял. В чем его такая принципиальная особенность? Куда и что нужно передать?
Лямбда-выражения не имеют никакого отношения к Linq вообще. Они активно используются вне Linq и не являются чем-то новым.
Приведите пример в LinqToSQL, где без "лямбды" обойтись нельзя.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157768
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВВот что бы этот "расширенный набор" работал, нужны примеси, вывод типов, анонимные типы и лямбды.можно прекрасно работать с Linq без всего этого.
ЕвгенийВПопробуй в LinqToSql например передать не лямбду, но функцию.В чем проблема? объявить Func или Expression вне метода Linq и передать ему как параметр. Без лямбд.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157770
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВВот что бы этот "расширенный набор" работал, ..., вывод типов, анонимные типы ...


Я привел пример того, что анонимные типы не нужны, Вы его проигнорировали.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157773
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proможно прекрасно работать с Linq без всего этого.


Вы знали! Ну вот, а такая была интрига. )
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157793
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЕвгенийВВот что бы этот "расширенный набор" работал, нужны примеси, вывод типов, анонимные типы и лямбды.можно прекрасно работать с Linq без всего этого.

отправляю вас к поделке Сережи Брина с вопросом "что нового в .Net Framework 3,5"
Shocker.ProЕвгенийВПопробуй в LinqToSql например передать не лямбду, но функцию.В чем проблема? объявить Func или Expression вне метода Linq и передать ему как параметр. Без лямбд.
1. Queryable примет делегат и станет Enumerable , Enumerable не примет Expression. Но оба примут идентичные лямбды.
2. Если Queryable будет транслировать запрос, например sql server`у, то в момент исполнения начнет материться.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157800
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ1. Queryable примет делегат и станет Enumerable , Enumerable не примет Expression.А нефиг Queryable кормить делегатами, он не для тогоЕвгенийВНо оба примут идентичные лямбды.И что с того? Я и не спорил, что лямбда - удобная штука. ЕвгенийВ2. Если Queryable будет транслировать запрос, например sql server`у, то в момент исполнения начнет материться.Не знаю, как у тебя, я прекрасно конструировал выражения самостоятельно и они прекрасно транслировались в SQL
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157802
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И как раз-таки совет использовать .ToList(), данный автору топика, вреден по этой причине. В данном случае прокатит, но когда он начнет работать с IQueryable - аукнется.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157808
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВотправляю вас к поделке Сережи Брина с вопросом "что нового в .Net Framework 3,5"


Да Вы шо? Уже .Net 3.5 вышел? ))) А мужики-то и не знали)
Понимаете, тут есть люди которые не только книги прочли, но и вникли в суть и применяли все это на практике.

ЕвгенийВ1. Queryable примет делегат и станет Enumerable , Enumerable не примет Expression. Но оба примут идентичные лямбды.
2. Если Queryable будет транслировать запрос, например sql server`у, то в момент исполнения начнет материться.

Приведите пример, когда без лямбды не обойтись.
Раз уж Вы чужие примеры игнорируете.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157825
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНе знаю, как у тебя, я прекрасно конструировал выражения самостоятельно и они прекрасно транслировались в SQL
Примерчик можно с вызовом самописной функции?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157826
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВПримерчик можно с вызовом самописной функции?ты для самообразования или чтобы попридираться?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157831
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВПримерчик можно с вызовом самописной функции?вот, кстати, нашел простейший пример
var linq и динамические условия
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157838
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxЕвгенийВотправляю вас к поделке Сережи Брина с вопросом "что нового в .Net Framework 3,5"


Да Вы шо? Уже .Net 3.5 вышел? ))) А мужики-то и не знали)
Понимаете, тут есть люди которые не только книги прочли, но и вникли в суть и применяли все это на практике.

Раз вам лень, я для вас нашел.
http://storage.piter.com/upload/contents/978591180518/978591180518_p.pdf
https://msdn.microsoft.com/ru-ru/library/bb332048(v=vs.90).aspx

LINQ появившийся в .net 3.5 невозможен без примесей, лямбд, вывода типов, анонимных типов, появившихся в c# 3.0 специально да LINQ.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157839
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЕвгенийВПримерчик можно с вызовом самописной функции?вот, кстати, нашел простейший пример
var linq и динамические условия
Это динамически построенное дерево выражений, а я просил самописную функцию, типа
Код: c#
1.
2.
3.
4.
static string TS(int i)
        {
            return i.ToString();
        }
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157844
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВLINQ появившийся в .net 3.5 невозможен без примесей, лямбд, вывода типов, анонимных типов, появившихся в c# 3.0 специально да LINQ.

Вы читаете только самого себя? "Сталин читает Сталина" (с) Или это мантра такая?
Приведите пример. Иначе все это балабольство.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157848
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторДа.


+ Уравнения математической физики + Тензорная алгебра + Вычислительная математика + Случайные процессы и теория массового обслуживания + Дифференциальные уравнения + Исследование операций + Асимптотические методы и теория колебательных процессов + Теория управления + Методы оптимизации + продолжать?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157851
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВЭто динамически построенное дерево выражений, а я просил самописную функцию, типа
Код: c#
1.
2.
3.
4.
static string TS(int i)
        {
            return i.ToString();
        }

самописную функцию, которая делает ЧТО?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157858
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВShocker.Proпропущено...
вот, кстати, нашел простейший пример
var linq и динамические условия
Это динамически построенное дерево выражений, а я просил самописную функцию, типа
Код: c#
1.
2.
3.
4.
static string TS(int i)
        {
            return i.ToString();
        }



Сравнивать статические функции и лямбда-выражения?!
Зачем мне такая бредовая функция? Я напишу i.ToString().
Вы создаете класс, в нем статическую функцию для того, чтобы она вернула результат метода другого объекта?
Вот тоже пример того, что array лучше, чем List:

Код: c#
1.
static string t(int[] a) { return a.ToString();}



Попробуйте передать сюда List!
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157873
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторВообще меня удивляют слова ТС об огромном стаже и великолепной успеваемости по всем предметам


Серьезно? В СССР-е человек с высшим образованием выходил на работу в среднем в 22-года. Вас удивляет, что человек может дожить до 50 лет, или что он все это время РАБОТАЛ (ах ну да, сейчас же другие времена).

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

Вы - человек новой эпохи видимо. Так, пожалуйста, еще раз подскажите, ЧТО КОНКРЕТНО вызывает удивление.

И ОЧЕНЬ ПРОШУ - НЕ НАДО сравнивать математические дисциплины с концепциями и конструкциями современных ИТ технологий. В математике все строго определено, а в DOTNET например, многие понятия остаются темными для новичка, даже если включать всю имеющуюся интуицию и воображение. А уж определения - отсутствуют вовсе или туманны до жути. (Я не считаю определение СИНТАКСИЧЕСКОЙ КОНСТРУКЦИИ, которое прожует компилятор определением как таковым). Конечно, если программист разобрался как это РАБОТАЕТ, у него в голове есть некоторое СОБСТВЕННОЕ представление о предмете и ему КАЖЕТСЯ что все строго все логично - все отлично. Тогда пусть он попробует вспомнить свои ощущения в начале освоения предмета. Но, извините, определения-то строгого все равно нет.

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

Кто мне даст строгое определение - ЧТО ТАКОЕ ТИП в языке программирования.

И что глупости писать, что DataTable изобрели при царе горохе. При царе горохе изобрели DBF, а не DataTable, потом благополучно похоронили DBF - самое оптимальное представление для таблиц - и помешались на XML-е - начали совать его во все дыры - где он не пришей рукав. XML в реляционных базах данных - как собаке пятая нога - он предназначен для отображения ДРЕВОВИДНЫХ а не ТАБЛИЧНЫХ структур, и вот в результате в DOTNET-е появилась куча дерьма - когда я прежде чем начну работать с таблицей должен ЕЕ ЦЕЛИКОМ загрузить в память, я уже не говорю про это помешательство на объектах, когда таблица занимающая в формате DBF на диске скажем 500 мегабайт после преобразования в DataTable и загрузки в память занимает 4-5 гигабайт.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157878
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215В математике все строго определено, а в DOTNET например, многие понятия остаются темными для новичкаИ в математике, и .Net понятия будут темными для новичка. Особенно если пытаться разбирать методом тыка. И если в .Net есть Intellisence и компилятор, то попробуй решить в математике задачу, не зная, например, операцию сложения. Так что сравнение но только некорректное, но еще и в противоположную сторону ))

Иван215Кто мне даст строгое определение - ЧТО ТАКОЕ ТИП в языке программирования.Понятие типа в .Net имеет очень конкретное определение и обозначает вполне ясный круг вещей.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157883
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Кто мне даст строгое определение - ЧТО ТАКОЕ ТИП в языке программирования.
Это классификатор, который определяет характеристики возможного значения данных данного типа.

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

Иван215и помешались на XML-е - начали совать его во все дыры - где он не пришей рукав.
Хорошее и удачное решение для многих задач, сейчас уже на замену идет JSON. В чем проблема-то?

Иван215он предназначен для отображения ДРЕВОВИДНЫХ а не ТАБЛИЧНЫХ структур
Бред.

Иван215когда я прежде чем начну работать с таблицей должен ЕЕ ЦЕЛИКОМ загрузить в память
Так и не надо грузить, и тем более не надо использовать это УГ DataTable.

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


Сам ты бред.

Таблица - это частный случай дерева.

НО! Применять XML в реляционных моделях - маразм полный.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157892
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторТак и не надо грузить, и тем более не надо использовать это УГ DataTable.


Да? А что надо использовать? Не подскажете (в рамках DOTNET)?

авторСам себе же противоречишь.


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

Серьезно? В СССР-е человек с высшим образованием выходил на работу в среднем в 22-года. Вас удивляет, что человек может дожить до 50 лет, или что он все это время РАБОТАЛ (ах ну да, сейчас же другие времена).
Ну работал ты работу со времен СССР, а работы той не стало, а работать дальше надо. Так?

Думаю что так, иначе послал бы всех присутствующих и ушел. Не надо тут орденами и медалями трясти. Они не в тему. В этой отрасли нет уважения к старпёрам, ты либо на коне, либо под конем. Все определяют твои знания, а когда ты их получил, в 16 или в 50 никого не интересует.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157895
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Таблица - это частный случай дерева.
XML предназначен для того где его удобно и сподручно использовать по сравнению с другими возможными решениями.

Иван215НО! Применять XML в реляционных моделях - маразм полный.
Про что ты?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157899
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215авторТак и не надо грузить, и тем более не надо использовать это УГ DataTable.


Да? А что надо использовать? Не подскажете (в рамках DOTNET)?
ДДД (от Domain-driven design)

Иван215Будьте так любезны, сформулируйте четко и конкретно пригрезившееся Вам противоречие.
Пожалуйста:
Иван215авторТак и не надо грузить, и тем более не надо использовать это УГ DataTable.

Да? А что надо использовать? Не подскажете (в рамках DOTNET)?
Иван215И что глупости писать, что DataTable изобрели при царе горохе.
Иван215когда таблица занимающая в формате DBF на диске скажем 500 мегабайт после преобразования в DataTable и загрузки в память занимает 4-5 гигабайт.
Уж определись как-то, а то за шута воспримут.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157902
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторХорошее и удачное решение для многих задач, сейчас уже на замену идет JSON. В чем проблема-то?


В чем проблема?

Загадку загадаю (простую).

Вам не приходило никогда в голову ПОЧЕМУ - например Visual FoxPro, когда работает с таблицами (DBF) она не грузит их в память целиком, а когда DOTNET работает с таблицами (объекты DataSet и DataTable) - грузит целиком.

Вот и ответьте. Причина - простейшая.

Проблем море.

Утомлять не буду долгим перечислением.

Приведу всего один пример.

На Фоксе - для задач поиска, стыковки и так далее - я создаю индексы (КАКИЕ ЗАХОЧУ) - тоже в виде файлов (CDX) на диске и далее в процедурах их использую, ЛИЧНО И ПОЛНОСТЬЮ КОНТРОЛИРУЯ ПРОЦЕСС.

DOTNET - загрузив таблицу в память САМ СОЗДАЕТ ИНДЕКСЫ, когда САМ ЗАХОЧЕТ и такие КАКИЕ САМ ЗАХОЧЕТ. Я же ПОНЯТИЯ НЕ ИМЕЮ - что ОН ТАМ НАСОЗДАВАЛ и КАК он их далее ИСПОЛЬЗУЕТ. Правда прелесть?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157904
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторУж определись как-то, а то за шута воспримут.


Ну рассмешил!

Ты что сам-то клоун что ли?

Ты хоть смотри на авторство - КТО ЧТО ПИШЕТ.

Приведенные цитаты - разных авторов.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157913
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Загадку загадаю (простую).

Вам не приходило никогда в голову ПОЧЕМУ - например Visual FoxPro, когда работает с таблицами (DBF) она не грузит их в память целиком, а когда DOTNET работает с таблицами (объекты DataSet и DataTable) - грузит целиком.

Вот и ответьте. Причина - простейшая.
Разгадываю для особо одаренных, которые прочитали учебник по Дот Нету 1.1 года эдак 2002 выпуска.
Не знаю как работает Visual FoxPro с таблицами, но в ДотНете сегодня никто не пользует ни DataTable, ни DataSet, ни DataAdapter из-за того, что ADO.NET уже безбожно устарел и не отвечает современным требованиям. Я не знаю почему ты остановился в своем развитии в познании .NET на DataTable и DataSet, но рекомендую почитать как создаются современные высокопроизводительные программы в наше время. Материала в тырнете полно можно найти. Для работой с БД сегодня используются различные ORM, POCO-классы, кэширование - читай в этом направлении и все встанет на свои места, тогда и перестанешь смешить своими представлениями о программировании в Дот Нет.

Иван215На Фоксе - для задач поиска, стыковки и так далее - я создаю индексы (КАКИЕ ЗАХОЧУ) - тоже в виде файлов (CDX) на диске и далее в процедурах их использую, ЛИЧНО И ПОЛНОСТЬЮ КОНТРОЛИРУЯ ПРОЦЕСС.
Большинство нормальных СУБД сегодня поддерживают индексы, какие проблемы? Что значит 'лично и полностью контролирую процесс' мне не понятно. Поясни.

Иван215DOTNET - загрузив таблицу в память САМ СОЗДАЕТ ИНДЕКСЫ, когда САМ ЗАХОЧЕТ и такие КАКИЕ САМ ЗАХОЧЕТ. Я же ПОНЯТИЯ НЕ ИМЕЮ - что ОН ТАМ НАСОЗДАВАЛ и КАК он их далее ИСПОЛЬЗУЕТ. Правда прелесть?
Да забей ты уже на эту горе-таблицу. Вот же навязчивая идея
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157915
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215На Фоксе - для задач поиска, стыковки и так далее - я создаю индексы (КАКИЕ ЗАХОЧУ) - тоже в виде файлов (CDX) на диске и далее в процедурах их использую, ЛИЧНО И ПОЛНОСТЬЮ КОНТРОЛИРУЯ ПРОЦЕСС.
LINQ далеко до фокса, но тут заточка под клиент-сервер, фокс файл-сервер. В фоксе помучай гигабайтный файл по сети одновременно с нескольких компов и получишь жуткий тормоз даже с индексами. Тут совсем другая идеология, не надо сюда фокс мешать. почитай книгу про LINQ . Понятнее станет что к чему.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157917
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215авторУж определись как-то, а то за шута воспримут.


Ну рассмешил!

Ты что сам-то клоун что ли?

Ты хоть смотри на авторство - КТО ЧТО ПИШЕТ.

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

Озвученное противоречие состоит из трех частей

Цитата 1:

авторДа? А что надо использовать? Не подскажете (в рамках DOTNET)?


Это вопрос про DOTNET - что можно использовать в DOTNET-е кроме объектов DataSet и DataTable для работы с таблицами

Цитата 2:

авторИ что глупости писать, что DataTable изобрели при царе горохе.


Действительно - это глупость - ибо в САМОМ НАЧАЛЕ для представления таблиц в системах программирования был предложен формат DBF - где-то еще в конце 80-х на самой заре ПЭВМ с выходом СУБД DBase фирмы Ashton Tate. В ту пору никаких DataTable (в смысле объектов) не было, так как объектно-ориентированных систем программирования не было и в помине как таковых.


Цитата3:

авторкогда таблица занимающая в формате DBF на диске скажем 500 мегабайт после преобразования в DataTable (в смысле объекта DOTNET) и загрузки в память занимает 4-5 гигабайт.


Это непреложный факт - любой желающий может это проверить, зайдя в диспечер задач Windows или воспользовавшись программой JetBrains DotMemory (например).

Простите, в вышеприведенных трех моих цитатах я не обнаружил противоречия, так что просьба к Вам - Вы определитесь пожалуйста - обозначьте противоречие, чтобы я понял, а то я не врублюсь никак.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157921
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215, противоречие обозначили в том, что ты ругаешь DataSet и DataTable и при этом ими пытаешься пользоваться.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157934
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215DOTNET - загрузив таблицу в память САМ СОЗДАЕТ ИНДЕКСЫ, когда САМ ЗАХОЧЕТ и такие КАКИЕ САМ ЗАХОЧЕТ. Я же ПОНЯТИЯ НЕ ИМЕЮ - что ОН ТАМ НАСОЗДАВАЛ и КАК он их далее ИСПОЛЬЗУЕТ. Правда прелесть?
Открою страшную тайну: DOTNET индексы вообще не создает. Нет тут такого понятия как индекс, есть только сортировки. Именно в этом LINQ фоксу и проигрывает. Читай книгу, ссылка выше.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157942
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторИван215, противоречие обозначили в том, что ты ругаешь DataSet и DataTable и при этом ими пытаешься пользоваться.


Ну не фига себе! Про ORM или POCO впервые слышу. Поищу - заинтригован. Да ругаю DataSet и DataTable - и дальше буду продолжать ругать. Правда (я недавно в DOTNET-е) вот напал на LINQ to DataSet - хоть какой-то выход.

Сколько не смотрел книг про DOTNET, в том числе и современных - никаких ORM или POCO не встречал. Может посоветуете что-нибудь для ознакомления.

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

авторОткрою страшную тайну: DOTNET индексы вообще не создает


А я вроде читал, что создает. Если у таблицы DataTable создать PrimaryKey, то метод Find будет осуществлять поиск с использованием индекса.

авторно в ДотНете сегодня никто не пользует ни DataTable, ни DataSet, ни DataAdapter из-за того, что ADO.NET уже безбожно устарел


Ну Вы за всех то не говорите, и главное - не забывайте, что кроме проблемы ПОЛУЧЕНИЯ данных клиентом (что собственно и делает ADO.NET, и прекрасно справляется) - что собственно то и проблемы не составляет, еще есть ДЕЙСТВИТЕЛЬНО ПРОБЛЕМА - обработка ПОЛУЧЕННЫХ данных на клиенте. Конечно, можно получать данные на клиенте ТОЛЬКО для их отображения и правки - это дело вкуса, но я, например, привык еще и РАБОТАТЬ с ними.

И зачем валить в одну кучу DataTable и DataAdapter - первое это объект ДЛЯ ХРАНЕНИЯ данных, а второе - объект для ПОЛУЧЕНИЯ данных. Разве не понятно, что это две большие разницы.

авторНе надо тут орденами и медалями трясти


Ты что больной? Я обычный человек, и все НОРМАЛЬНЫЕ программисты так жили и живут. Закрывалась одна работа - искал другую, уходило одно, осваивал другое.

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


+ Уравнения математической физики + Тензорная алгебра + Вычислительная математика + Случайные процессы и теория массового обслуживания + Дифференциальные уравнения + Исследование операций + Асимптотические методы и теория колебательных процессов + Теория управления + Методы оптимизации + продолжать?
А где нобелевская премия? Где 1...N законы Ивана двести пятнадцатого? А он вместо этого вкалывает на буржуев!
Эх была бы у меня возможность получить такое образование....
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157945
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор Все определяют твои знания, а когда ты их получил, в 16 или в 50 никого не интересует.


Да в том-то и специфика ИТ-отрасли, что в ней накопления знаний не может быть в принципе. Знания и навыки и опыт работы 10-15 летней давности можно смело выкинуть на помойку, что со мной происходило много много много раз.

Но сейчас даже и знания и опыт часто никого не интересуют - смотрят на Вас, определяют визуально возраст - и до свидания.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157947
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА где нобелевская премия? Где 1...N законы Ивана двести пятнадцатого? А он вместо этого вкалывает на буржуев!
Эх была бы у меня возможность получить такое образование....


Еще один ненормальный. Я учился в Советское время в ОБЫЧНОМ ТЕХНИЧЕСКОМ ВУЗЕ. Факультет прикладной математики. И привел выдержку из вкладыша в диплом - где перечислены все изучаемые предметы с полученными оценками.

Увы, нет сейчас такого образования - все порушено. Остались либо дебилы с куплеными корочками, либо самоучки.

А кстати с чего Вы решили, что я вкалываю или вкалывал на буржуев? Опять больное воображение? Да протрезвитесь наконец. Первые 10 лет работал в АСУП-е оборонного завода, в благодарность за что это самое предприятие меня чуть голодом не уморило (зарплату на 11 месяцев задерживали), потом подвернулась работа в страховой медицинской компании программистом, где отработал 15 лет. Не было буржуев - у меня на них аллергия.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157948
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TОткрою страшную тайну: DOTNET индексы вообще не создает. Нет тут такого понятия как индекс, есть только сортировки. Именно в этом LINQ фоксу и проигрывает. Читай книгу, ссылка выше.
В DataView можно сделать.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157949
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Ну не фига себе! Про ORM или POCO впервые слышу. Поищу - заинтригован. Да ругаю DataSet и DataTable - и дальше буду продолжать ругать.Круг, замкнулся. В современном учебнике ведь всё это описано. Но:Иван215Давно выработались свои собственные подходы к освоению того или иного предмета (ведь все люди разные - один обкладывается учебниками, другой сразу начинает писать программу и пробовать как и что работает, а в книжки заглядывает лишь при крайней необходимости).учебник читать - это ниже достоинства, поэтому будем писать на DataSet-ах и плеваться на на них, и ничего не будем знать про современные технологии.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157954
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215 потом подвернулась работа в страховой медицинской компании программистом, где отработал 15 лет. Не было буржуев - у меня на них аллергия.
А кто там владелец средсв производства нещадно эксплуатирующий наемных рабочих?
По марксизму-ленинизму что неуд был?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157957
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxЕвгенийВпропущено...

Это динамически построенное дерево выражений, а я просил самописную функцию, типа
Код: c#
1.
2.
3.
4.
static string TS(int i)
        {
            return i.ToString();
        }



Сравнивать статические функции и лямбда-выражения?!
Зачем мне такая бредовая функция? Я напишу i.ToString().
Вы создаете класс, в нем статическую функцию для того, чтобы она вернула результат метода другого объекта?

Это функция первого порядка, которая может аргументом/результатом функциям высших порядков.
Addx
Вот тоже пример того, что array лучше, чем List:

Код: c#
1.
static string t(int[] a) { return a.ToString();}



Попробуйте передать сюда List!
О норка Юноны!
А кто лучше, фтизиатр или отоларинголог?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157964
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Кто мне даст строгое определение - ЧТО ТАКОЕ ТИП в языке программирования.

Это сильно зависит от языка.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157965
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый Shocker!

Ну зачем же так опять:

авторучебник читать - это ниже достоинства


Вам список используемых мною книг по DOTNET и VB привести?

Ну может быть не обратил внимания на аббревиатуру ORM - зачем копья ломать?

Зашел сейчас в сеть (насчет ORM) - ну куда все сначала заходят - на Wikipediю.

Читаю список существующего ORM программного обеспечения и вижу там DOTNET.

Иду дальше, читаю список ORM-библиотек, относящихся к DOTNET-у - вижу там ADO.NET Entity Framework - к сожалению моим FireBird-ом не поддерживается и LINQ to SQL.

Но меня не интересует LINQ to SQL, потому что для получения данных с сервера мне проще обычный Select написать.

Мне нужна РАБОТА - КОМФОРТНАЯ!!!! - как на Фоксе с DBF - комфортная работа с таблицами в DOTNET-е НА СТОРОНЕ КЛИЕНТА!

Вот на этом давайте и сосредоточимся. У меня выработанный стиль и мне нужно ИМЕННО ЭТО!

Итак, что посоветуете за пределами DataSet и DataTable. Об инструментарии после. Давайте сначала поговорим об объектах, которые УДОБНЫ для представления таблиц в рамках реляционной модели (в DOTNET-е естественно).

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


Ха-ха-ха!

Я тут недавно по телеку смотрел - оказывается - КАЖДЫЙ - кто пользуется при купле-продажи рублями - РАБОТАЕТ на Америку - потому что - сколько будет напечатано рублей в Росии - столько надо купить у Америки долларов.

Вы в курсе?

Кстати, по сравнению с дырой на оборонном заводе - в страховой компании люди получали деньги так что можно было жить и не умирали от непосильного труда.

Пример.

Когда весной 2001 года я уволилися с завода и поступил в страховую - моя зарплата изменилась с 1000 рублей до 8000. И получать я стал ее вовремя.

авторПо марксизму-ленинизму что неуд был?


От марксизма-ленинизма тошнило, так что кирпич (так мы называли учебник по этому предмету) сильно вонял блевотиной.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157972
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Насчет старпера. Вместо того, чтобы оскорблять собеседника, ты бы подумал остатками своего серого вещества - что и тебе стукнет 50 - и ты станешь старпером, и об тебя будет 20-летняя шелупонь ноги вытирать. Это придет к тебе - просто надо подождать. Пока готовься, так сказать, морально.
Я не мальчик, скоро стукнет, ты в отцы уже по возрасту не проходишь. Просто делюсь опытом, хочешь понимай, не хочешь - считай оскорблением.

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

да не слушай ты этих мальчиков
они ДатаТебл и ДатаСет и в глаза не видели (а если и видели то просто обосрались, так как они не знали хбейз и не знают рмд)
Датасет и иже очень хорошая технология, но МС как обычно захерил это дело (из за того что не смог предложить динамический синхронный контекст СУБД) и перевел всех на коллекции объектов и навигационные ссылки (а это намного проще чем датасет, но и намного хуже)
индексы у Дататейбл есть, через Датавью и индексированный вью через Select работает пулей

основные недостаток Датасет
- нет возможности полноценных макроподстановок (имеющиеся язык для выражений куцый и малограмотный, и сцуко закрыт этот класс)
- нет некоторых событий (хотя их дохуя воще то)
- коллекции объектов устаревшие и почему то бл* не дикшинари а листы
...

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

конечно что то (особенно индексы) лучше сделано в МИДАС, но что то лучше тут и намного
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157975
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Ну зачем же так опять:Я не отказался от своей позиции, поэтому продолжаю отстаивать свою точку зрения.
Иван215Вам список используемых мною книг по DOTNET и VB привести?
Ну может быть не обратил внимания на аббревиатуру ORM - зачем копья ломать?Лучше список годов ПЕРВОГО издания оригинального (не переводного) экземпляра. Впрочем, я могу себе представить. Но проблема в том, что для .NET 90% книг (а для субтехнологий типа Entity Framework, ASP.NET и все 99%) написаны для C#. Это практически основная причина, по которой я, длительное время отработав на VB, перешел не на VB.NET, а на C#, о чем совершенно не жалею, мало того, нахожу его синтаксис гораздо более логичным и удобным (за исключением пары моментов), а переучиться на другой процедурный ЯВУ опытному программисту не составляет никаких проблем.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157976
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215
Иду дальше, читаю список ORM-библиотек, относящихся к DOTNET-у - вижу там ADO.NET Entity Framework - к сожалению моим FireBird-ом не поддерживается и LINQ to SQL.

Вот кто нибудь понял что тут написано?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157978
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215
Я тут недавно по телеку смотрел - оказывается - КАЖДЫЙ - кто пользуется при купле-продажи рублями - РАБОТАЕТ на Америку - потому что - сколько будет напечатано рублей в Росии - столько надо купить у Америки долларов.

Вы в курсе?


Глупый ящик для идиотов давно выкинул.
А то, что работаем на пендосию, так и есть, только не потому, что сказали по ящику.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157979
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215
От марксизма-ленинизма тошнило, так что кирпич (так мы называли учебник по этому предмету) сильно вонял блевотиной.
Какое чувство могут вызвать эти слова, у человека, который в свободное время изучает труды Маркса-Ленина-Сталина?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39157980
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВИван215От марксизма-ленинизма тошнило, так что кирпич (так мы называли учебник по этому предмету) сильно вонял блевотиной.
Какое чувство могут вызвать эти слова, у человека, который в свободное время изучает труды Маркса-Ленина-Сталина?
ничего
одно дело самому хотся, другое навязывают
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158014
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторКакое чувство могут вызвать эти слова, у человека, который в свободное время изучает труды Маркса-Ленина-Сталина?


Ну не знаю. Но я бы посоветовал такому человеку провериться у психиатра - мало ли что...

автор ADO.NET Entity Framework - к сожалению моим FireBird-ом не поддерживается


Здесь я видимо ошибся, просто как-то раз напал в сети на инфу что FireBird вначале поддерживал Entity Framework, а потом перестал.

Сейчас глянул - вроде поддерживает FireBird работу с Entity Framework, но вообще говоря мне это не интересно, мне интересна обработка данных на стороне клиента. Так что извините, вот и все.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158017
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор Но проблема в том, что для .NET 90% книг (а для субтехнологий типа Entity Framework, ASP.NET и все 99%) написаны для C#


Да не проблема это вовсе. Если я нахожу решение своей проблемы на C# - без труда перевожу в VB.NET. Если возникают трудности - пользуюсь конвертером Tangible - классный конвертер.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158018
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторИщу куда податься после 15 лет работы на фоксе, но не ищу где повторен фокс


Так у нас много общего - и я 15 лет на Visual FoxPro отработал, а до этого еще 7 лет на Foxpro 2.0 - 2.6 for DOS.

Да убили Фокс - все проклятый M$ - классная была системка - по эффективности разработки - по скорости обработки данных - не было и не будет ей равных никогда.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158027
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Entity Framework, но вообще говоря мне это не интересно, мне интересна обработка данных на стороне клиента.А Entity Framework - это по твоему где обработка данных?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158029
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторВ DataView можно сделать.


Что меня удивило в DotNet-e - им что надо было нужное количество народу работой обеспечить?

Наплодили классов - DataTable, DataView, BindingSource. Фу дерьмо! Нельзя было что ли один класс сделать с общим набором свойств?

После Фокса искал искал - а как выполнить позиционирование в таблице - оказывается только BindingSource дает возможность позиционирования. Поиск нормальный тоже только в BindingSource - в DataView - поиск только по одному ключу!
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158035
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА Entity Framework - это по твоему где обработка данных


Да не вникал я особо - посмотрел пару статей - везде про базу данных (на сервере) разговор. Понимаете я ведь не свободный художник - мне еще и программу писать надо. Так что пока я что-то там новое рассмативаю - работа-то стоит.

Вы мне конкретно скажите ставиться эта комбина в VS2010 (а может она там уже есть - в версии Ultimate) - и главное позволяет ли она с объектами DataSet и DataTable работать - без эмоций сообщите пожалуйста.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158051
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Наплодили классов - DataTable, DataView, BindingSource. Фу дерьмо! Нельзя было что ли один класс сделать с общим набором свойств?

После Фокса искал искал - а как выполнить позиционирование в таблице - оказывается только BindingSource дает возможность позиционирования. Поиск нормальный тоже только в BindingSource - в DataView - поиск только по одному ключу!
ты это, не пори фигню, прочитав что то по диагонали

BindingSource к таблице и вью никакого отношения не имеет
вью для таблицы можешь создать сколько угодно (естественно с разными наборами индексных полей)
вью - это кластерный индекс

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


А это что:

Код: vbnet
1.
BS.DataSource = DTS_GRD.Tables(gcuralias)



BindingSource никакого отношения к таблице не имеет, однако DataTable может служить источником BindingSource.

Сам не пори фигню.

авторбудешь еще чушь пороть свысока - высеку


Весь дрожу от страха - жену свою высеки, если руки зачесались.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158057
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Вы мне конкретно скажите ставиться эта комбина в VS2010 (а может она там уже есть - в версии Ultimate) - и главное позволяет ли она с объектами DataSet и DataTable работать - без эмоций сообщите пожалуйста.Без эмоций не могу.
Это библиотека. Для работы с данными. Она встроена в .NET Framework и не имеет никакого отношения ни к версии студии, ни к DataSet и DataTable.
Это принципиально другой подход к работе с реляционными данными и заточен преимущественно на быстроту и простоту разработки, принося в жертву некоторую производительность.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158060
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215авторBindingSource к таблице и вью никакого отношения не имеет


А это что:

Код: vbnet
1.
BS.DataSource = DTS_GRD.Tables(gcuralias)



BindingSource никакого отношения к таблице не имеет, однако DataTable может служить источником BindingSource.



Старичок с маразмом, если выкинуть их NET FW DataTable, то от этого BindingSource не жарко, не холодно
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158061
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор и не имеет никакого отношения ни к версии студии, ни к DataSet и DataTable.


И я не могу - а на фига она тогда мне нужна - у меня все данные на клиенте в виде XML-файла. При запуске программы идет загрузка данных в DataSet, с которым и работаю.

Вкратце опишите как все может происходит при использовании EF. Данные клиента можно сохранить не в виде XML-файла, а как-то еще? Я правильно понял? Еще одна оговорка. Мне необходима работа программы в отсоединенном режиме - скачал нужную выборку с сервера - и все - отключился от сети. Работаю в автономе. Таковы обстоятельства использования программы.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158063
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215авторХорошее и удачное решение для многих задач, сейчас уже на замену идет JSON. В чем проблема-то?


В чем проблема?

Загадку загадаю (простую).

Вам не приходило никогда в голову ПОЧЕМУ - например Visual FoxPro, когда работает с таблицами (DBF) она не грузит их в память целиком, а когда DOTNET работает с таблицами (объекты DataSet и DataTable) - грузит целиком.

Вот и ответьте. Причина - простейшая.

...
DOTNET - загрузив таблицу в память САМ СОЗДАЕТ ИНДЕКСЫ, когда САМ ЗАХОЧЕТ и такие КАКИЕ САМ ЗАХОЧЕТ. Я же ПОНЯТИЯ НЕ ИМЕЮ - что ОН ТАМ НАСОЗДАВАЛ и КАК он их далее ИСПОЛЬЗУЕТ. Правда прелесть?
Посмотри, что может yield.

Все что ты мог сделать в фоксе и даже больше, ты можешь сделать и здесь, но сам. Фреймфорк сделан под другую парадигму.

Индексы в днете сам никто не создает.

В общем приспосабливайся или умри.

PS Я тоже получал стипендию за "без троек" и учил функан на спецах.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158065
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglИндексы в днете сам никто не создает.

интересная мысль, а кто ж их создает?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158070
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если последовательно, то

Раньше (это было еще до dBase), ты работал с данными.

Позднее, ты работаешь с данными через теорию нормализации Дейта. dBase, SQL и все последователи.

Еще далее, ты пытаешься работать с данными, через объектную теорию ОРМ (EF, Nhibernate), натянутую поверх теории нормализации Дейта.

Чем больше уровень абстракции, тем удобнее (теоретически), но тем медленнее все работает.

Хуже всего, если взять сырые данные, плохо нормализующиеся, и засунуть их в SQL.

В итоге начинается вой на все лады;
- а давайте сделаем ООСУБД
- а давайте колоночную СУБД
- а давайте для DWH придумаем новую структуру
- а давайте кластерный NoSQL с шардингом
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158073
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторесли выкинуть их NET FW DataTable, то от этого BindingSource не жарко, не холодно


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


Все оскорбления очень контрастно высвечивают уровень интеллекта автора. Это как лакмусовая бумажка, даже собеседование можно не проводить
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158075
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215авторесли выкинуть их NET FW DataTable, то от этого BindingSource не жарко, не холодно


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


А если не выкидывать, BindingSource-у будет жарко или холодно?
эх, ваня, ванюшка
пожалел я тебя горемычного из за возраста твоего великого
но все ж как грят - не все с возрастом мудреют
иди как ты отседова в болото свое
каждый кулик...

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


В смысле - решил не убивать что ли?

А уйди-ка лучше ты из этой темы (откуда пришел) и не воняй здесь.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158082
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215,

да какая еще тема

тема в котором ты че то понимаешь - называется

читаем в цикле первую табличку
ищем по индексу во второй
че то делаем

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

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

вот и вся твоя темя


Да ты что! Правда?

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


Ой, да это же мечта моя! Помоги, помоги! Мне она так нужна простота и чтобы DataTable-ы. Я мозги ради такого случая подлечу, обязательно подлечу - обещаю!
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158087
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215,

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


Давайте теперь нормально обсудим все, а?

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

Если Вы действительно имеете намерение помочь мне, тогда вот в чем проблема.

Придется повториться.

Я переделываю с Visual FoxPro большую программу на VB.NET. Она действительно большая по функционалу. Но сам функционал не слишком сложный - он обычный.

Программа была не сетевая, но на ней работало много пользователей (около 30). В ней были средства, осуществляющие аккумуляцию данных на одном рабочем месте и получение всех сводных отчетов.

Новая программа - сетевая - клиент-сервер. Сервер - FireBird. Клиент - VB.NET.

При переходе с Visual FoxPro на VB.NET я не обнаружил никаких иных средств для работы с таблицами на стороне клиента кроме объектов DataTable и DataSet. Если они существуют и удобнее озвученных - то просьба рассказать о них более или менее подробно, или по крайней мере назвать их таким образом, чтобы я мог поискать соответствующую информацию в сети.

Промучившись так месяцев пять, я конечно что-то переписал, но меня поразила громоздкость и неудобство программирования по сравнению с Visual FoxPro.

Вспомнив про LINQ to DataSet я взялся за него и мне заметно полегчало - потому что он по крайней мере позволяет написать аналог любого оператора Select - а это для меня уже было очень много.

Я пользовался Select-ом и на Фоксе, но если была возможность обойтись с помощью SET RELATION и COPY - я всегда выбирал SET RELATION - потому что это работало в разы быстрее и не жрало кучу памяти и дискового пространства. Я вязал таблицы и с помощью простого COPY TO получал нужную мне таблицу.

Если в DOTNET-е существует что-то проще и эффективнее LINQ to DataSet - очень буду рад услышать.

Почему я предпочитаю (если позволяет ситуация) обработку на клиенте обработке на сервере. Начав разбираться с FireBird-ом я наткнулся на кучу ограничений и неудобств, которые, как мне рассказали - все очень правильные и очень обоснованные. И к тому же дружественность среды FireBird при написании хранимых процедур (я имею в виду IBExpert) мне показалась чрезвычайно низкой, а их отладка слишком геморройной. Конечно все можно освоить в совершенстве и ко всему привыкнуть. Вопрос - чего это будет стоить.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158093
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторLINQ2DataSet опасная штука - тут нет оптимизатора, который лечит больные запросы как в СУБД


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


Конечно я использовал и такой подход - но крайне редко. Seek (Фокспрошный) я недолюбливал. Обычно - либо Select, либо вязка таблиц по Set Relation, а потом copy to.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158096
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215,

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

В Датасетах тоже есть DataRelation и есть GetGhildRows, GetParentRows
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158098
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я уже тебе говорил несколько раз, нет только макроподстановки (@)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158103
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторГлавная ошибка - тащить обработку на клиента при работе с SQL сервером.


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

авторВ Датасетах тоже есть DataRelation и есть GetGhildRows, GetParentRows


И это все, что Вы имеете мне сообщить. А я между прочим в курсе, и пользовался этим.

И сразу столкнулся с неудобством. На Фоксе выражение связи между таблицами может быть любым, включая даже пользовательские функции, а максимум, что разрешается в DOTNET-е - это одно или несколько полей.

Второе неудобство - тоже довольно существенное. На Фоксе таблицы, между которыми устанавливались связи были свободными, а на DOTNET-е они должны все быть в составе одного DataSet-а.

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

Вот только я пока не услышал - что Вы предлагаете на замену жутко опасному LINQ2DATASET? Что-то это пока не прозвучало. И как легко и непринужденно работать с DataTable в DOTNET-е - к сожалению тоже.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158104
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторя уже тебе говорил несколько раз, нет только макроподстановки (@)


Это тоже очень болезненно переживается после Фокса, где я широко пользовался этой удобной возможностью. Но Фокс работает по принципу интерпретатора, а DOTNET - компилятора - откуда здесь возьмется макроподстановка в режиме Runtime?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158105
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, так может все-таки кто-нибудь снизойдет и скажет - может ли сохраненный на диск DataSet в виде XML-файла использоваться в качестве источника данных модели данных Entity Framework?

Shocker, ты все иронизировал по поводу моей на эту тему некомпетентности? Молвишь словечко, а? Или опять без толку?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158108
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Господа, так может все-таки кто-нибудь снизойдет и скажет - может ли сохраненный на диск DataSet в виде XML-файла использоваться в качестве источника данных модели данных Entity Framework?

Shocker, ты все иронизировал по поводу моей на эту тему некомпетентности? Молвишь словечко, а? Или опять без толку?Entity Framework - это реализация LINQ-to-SQL, используемая в первую очередь для работы с БД, поддерживающей SQL.

В случае с XML можно десериализовать его в некую структуру данных, описанную "обычными" классами, и использовать LINQ-to-Object. Но смысла в этом не вижу.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158110
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПосмотри, что может yield.

Все что ты мог сделать в фоксе и даже больше, ты можешь сделать и здесь, но сам


А не соблаговолите ли чуточку поподробнее. Очень заманчиво. Напомню, что у меня VB, а не C#.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158165
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos, а расскажи, где лучше не применять DataSet, DataTable. В какого рода приложениях? И какой подход там использовать?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158343
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Господа, так может все-таки кто-нибудь снизойдет и скажет - может ли сохраненный на диск DataSet в виде XML-файла использоваться в качестве источника данных модели данных Entity Framework?

Shocker, ты все иронизировал по поводу моей на эту тему некомпетентности? Молвишь словечко, а? Или опять без толку?
Накой тебе xml?
Возьми любую встраиваемую субд и будет тебе счастье.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158388
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВИван215Господа, так может все-таки кто-нибудь снизойдет и скажет - может ли сохраненный на диск DataSet в виде XML-файла использоваться в качестве источника данных модели данных Entity Framework?

Shocker, ты все иронизировал по поводу моей на эту тему некомпетентности? Молвишь словечко, а? Или опять без толку?
Накой тебе xml?
Возьми любую встраиваемую субд и будет тебе счастье.Не успел ответить, полностью согласен с предыдущим оратором. Ты ругаешь XML за многословность и зачем-то им пользуешься. Существуют полноценные решения для локальных баз, с которыми с удовольствием работает Entity Framework
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158411
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ого, понаписали... А человек все еще не понял, что ему накуй не нужны DataTable и DataSet... Написал же выше, что на сегодня это не актуально уже. Упоротый же человек.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158429
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronУпоротый же человек.Я бы сказал - упорный. Банана нет, есть кактус - будем его грызть. Конечно, это хорошая черта характера, хотя во всем требуется мера.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158470
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не упорный, вполне типичный случай перехода с какой-то старой технологии на .Net.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158471
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
старой desktop технологии
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158478
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAДа не упорный, вполне типичный случай перехода с какой-то старой технологии на .Net.
Переход-то совершается, а вот мировоззрение человек не может или не хочет поменять - на новую технологию смотрит через призму опыта и навыков от старой технологии, что является большой ошибкой.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158479
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronskyANAДа не упорный, вполне типичный случай перехода с какой-то старой технологии на .Net.
Переход-то совершается, а вот мировоззрение человек не может или не хочет поменять - на новую технологию смотрит через призму опыта и навыков от старой технологии, что является большой ошибкой.Вот это и типично, не он один такой.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158481
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Также типичны случаи когда desktop подходы начинают тащить в веб.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158487
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТакже типичны случаи когда desktop подходы начинают тащить в веб.

Бывает наоборот :)
У меня один персонаж в винформах поставил на форму TextBox Visible=false и использовал его Text в качестве переменной. Типа Hidden поле :)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158496
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANAТакже типичны случаи когда desktop подходы начинают тащить в веб.

Бывает наоборот :)
У меня один персонаж в винформах поставил на форму TextBox Visible=false и использовал его Text в качестве переменной. Типа Hidden поле :)
А значение этого хидден поля он изменить джаваскриптом не пытался?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158515
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronА значение этого хидден поля он изменить джаваскриптом не пытался?
Нет! Чисто для хранения состояния меду "реквестами" :)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158521
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВAxeleronА значение этого хидден поля он изменить джаваскриптом не пытался?
Нет! Чисто для хранения состояния меду "реквестами" :)
Представляю сколько еще гуамна можно перетащить из вэбформ в винформы. Получится типа универсальный подход.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158538
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Вот только я пока не услышал - что Вы предлагаете на замену жутко опасному LINQ2DATASET? Что-то это пока не прозвучало. И как легко и непринужденно работать с DataTable в DOTNET-е - к сожалению тоже.
тебе уже 10 раз сказали - DataView
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158540
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215авторя уже тебе говорил несколько раз, нет только макроподстановки (@)


Это тоже очень болезненно переживается после Фокса, где я широко пользовался этой удобной возможностью. Но Фокс работает по принципу интерпретатора, а DOTNET - компилятора - откуда здесь возьмется макроподстановка в режиме Runtime?
Expression
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158548
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosИван215Вот только я пока не услышал - что Вы предлагаете на замену жутко опасному LINQ2DATASET? Что-то это пока не прозвучало. И как легко и непринужденно работать с DataTable в DOTNET-е - к сожалению тоже.
тебе уже 10 раз сказали - DataView
DataView надо выбросить нафуй и никогда больше не вспоминать. Не давай человеку советов чуть лучше чем плохих.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158550
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAViPRos, а расскажи, где лучше не применять DataSet, DataTable. В какого рода приложениях? И какой подход там использовать?
в любых приложениях, модель предметной области открыта для расширения (т.е. - задача не имеет окончательной модели)
Допустим возбмем Word - это законченная модель (ну от версии до версии модель устойчива), тут классы и т.д. рулят
а если взять ЕРП - то тут модель не может быть окончательной по определению (просто вендор не может знать все нюансы всего) и потому модель данных должен быть маппирован к модели один в один
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158552
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronViPRosпропущено...

тебе уже 10 раз сказали - DataView
DataView надо выбросить нафуй и никогда больше не вспоминать. Не давай человеку советов чуть лучше чем плохих.
иди пиши свои визитки и не лез в то чего он понимаешь
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158560
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosAxeleronпропущено...

DataView надо выбросить нафуй и никогда больше не вспоминать. Не давай человеку советов чуть лучше чем плохих.
иди пиши свои визитки и не лез в то чего он понимаешь
Клепание визиток, формочек и отчетиков, насколько я знаю, это твоя стихия, потому и не поспеваешь за новыми (лет так 5) технологиями.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158563
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosДопустим возбмем Word - это законченная модель (ну от версии до версии модель устойчива), тут классы и т.д. рулят
а если взять ЕРП - то тут модель не может быть окончательной по определению (просто вендор не может знать все нюансы всего) и потому модель данных должен быть маппирован к модели один в один
Ты о чем, дядя? Ты пытаешься сравнить невпихуемое.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158577
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronViPRosДопустим возбмем Word - это законченная модель (ну от версии до версии модель устойчива), тут классы и т.д. рулят
а если взять ЕРП - то тут модель не может быть окончательной по определению (просто вендор не может знать все нюансы всего) и потому модель данных должен быть маппирован к модели один в один
Ты о чем, дядя? Ты пытаешься сравнить невпихуемое.
ты малый пытаешься все время влезать в сложные разговоры
ну не твой удел, ты уж не обижайся
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158584
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosAxeleronпропущено...

Ты о чем, дядя? Ты пытаешься сравнить невпихуемое.
ты малый пытаешься все время влезать в сложные разговоры
ну не твой удел, ты уж не обижайся
Конкретно по предмету есть что сказать, товарищ старперший сержант?
Напрасно пытаешься продать никому уже не нужный DataView (последний раз я его использовал году так в 2005м), я не понимаю, мой отец даже в 64 года старался осваивать новье и не использовал эти классы в работе, а вам с ТСом вроде маленько за 50 (как я понял). Неужели голова совсем не работает уже? Тогда, может, хотя бы не надо так ярко выступать и предлагать людям говно-технологии?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158591
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И никаких Linq-to-DataSet не надо. Вообще забудьте уже. Linq-to-Sql все прекрасно решает при использовании Entity Framework. Не хотите майнить данные Linq'овскими выражениями, создавайте ХПы и мапьте к схеме EF. Трансформируйте возвращаемый тип в домейн объекты с помощью DTO паттерна и будет Вам счастье.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158592
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215авторВообще меня удивляют слова ТС об огромном стаже и великолепной успеваемости по всем предметам


Серьезно? В СССР-е человек с высшим образованием выходил на работу в среднем в 22-года. Вас удивляет, что человек может дожить до 50 лет, или что он все это время РАБОТАЛ (ах ну да, сейчас же другие времена).

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

Вы - человек новой эпохи видимо. Так, пожалуйста, еще раз подскажите, ЧТО КОНКРЕТНО вызывает удивление.

И ОЧЕНЬ ПРОШУ - НЕ НАДО сравнивать математические дисциплины с концепциями и конструкциями современных ИТ технологий. В математике все строго определено, а в DOTNET например, многие понятия остаются темными для новичка, даже если включать всю имеющуюся интуицию и воображение. А уж определения - отсутствуют вовсе или туманны до жути. (Я не считаю определение СИНТАКСИЧЕСКОЙ КОНСТРУКЦИИ, которое прожует компилятор определением как таковым). Конечно, если программист разобрался как это РАБОТАЕТ, у него в голове есть некоторое СОБСТВЕННОЕ представление о предмете и ему КАЖЕТСЯ что все строго все логично - все отлично. Тогда пусть он попробует вспомнить свои ощущения в начале освоения предмета. Но, извините, определения-то строгого все равно нет.

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

Кто мне даст строгое определение - ЧТО ТАКОЕ ТИП в языке программирования.

И что глупости писать, что DataTable изобрели при царе горохе. При царе горохе изобрели DBF, а не DataTable, потом благополучно похоронили DBF - самое оптимальное представление для таблиц - и помешались на XML-е - начали совать его во все дыры - где он не пришей рукав. XML в реляционных базах данных - как собаке пятая нога - он предназначен для отображения ДРЕВОВИДНЫХ а не ТАБЛИЧНЫХ структур, и вот в результате в DOTNET-е появилась куча дерьма - когда я прежде чем начну работать с таблицей должен ЕЕ ЦЕЛИКОМ загрузить в память, я уже не говорю про это помешательство на объектах, когда таблица занимающая в формате DBF на диске скажем 500 мегабайт после преобразования в DataTable и загрузки в память занимает 4-5 гигабайт.

Не нужно придумывать то, чего не знаешь. У меня с опытом проблем нет, учился я тоже неплохо и к тому же профессиональный математик по образованию. Но я не аргументирую этим свои знания в области .NET Никакого отношения к серьезной математике эта область не имеет.
В C# нет понятия тип. Есть понятие класс.
DBF имеет примерно такое же отношение к DataTable, как холодильник к синусу. А XML по отношению к ним - как реакция окисления.
Вообще, я удивлен, как можно написать неправильно ВООБЩЕ все. Если Вы не умеете работать с таблицами, это не повод критиковать .NET Вот у меня таблица на 10GB, которая при любом способе хранения не влезет в оперативную память клиентской машины. И что? Это проблема?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158597
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxВ C# нет понятия тип. Есть понятие класс.
Есть в C# и понятие тип, и понятие класс, и понятие объект.

AddxВот у меня таблица на 10GB, которая при любом способе хранения не влезет в оперативную память клиентской машины. И что? Это проблема?
Добавить ОП. Сегодня она копейки вообще стоит. Чо?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158604
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215DOTNET - загрузив таблицу в память САМ СОЗДАЕТ ИНДЕКСЫ, когда САМ ЗАХОЧЕТ и такие КАКИЕ САМ ЗАХОЧЕТ. Я же ПОНЯТИЯ НЕ ИМЕЮ - что ОН ТАМ НАСОЗДАВАЛ и КАК он их далее ИСПОЛЬЗУЕТ. Правда прелесть?

Я фигею, дорогая редакция. .NET вообще никаких таблиц не создает, не то что индексы.
"Загрузить таблицу в память" нельзя. Можно создать класс и вызвать у него метод.
У меня никогда само ничего не создавалось. )
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158606
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лично я считаю неразумным пихать во все дырки EF или хибер или Datatable или Linq.

В каждом случае может быть лучше что то свое. Или даже комбинация.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158614
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglЛично я считаю неразумным пихать во все дырки EF или хибер или Datatable или Linq.

В каждом случае может быть лучше что то свое. Или даже комбинация.
Никто этого не отменяет. На каждую задачу свой инструмент. Никаких нет проблем использовать старые добрые SqlCommand, ExecuteDataReader, ExecuteNonQuery нет, если нужно.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158615
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TLINQ далеко до фокса, но тут заточка под клиент-сервер, фокс файл-сервер.

LINQ и фокс настолько разные вещи, что их и сравнивать невозможно и бессмысленно.
Т.е. если я буду использовать "LINQ to Fox" - это как трактовать?
Фокс можно сравнивать с MSSQL, но уж никак не с LINQ.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158621
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglЛично я считаю неразумным пихать во все дырки EF или хибер или Datatable или Linq.
А ТСу было предложено просто ознакомиться с EF, но он наотрез отказывается воспринять совет. Linq-то чем не угодил? Его необязательно использовать только в контексте EF. Если что, напомню, что есть Linq-to-Sql, Linq-to-Xml, Linq-to-Objects в конце концов. Так что сегодня без Linq уже никуда.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158623
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronAddxВ C# нет понятия тип. Есть понятие класс.
Есть в C# и понятие тип, и понятие класс, и понятие объект.

AddxВот у меня таблица на 10GB, которая при любом способе хранения не влезет в оперативную память клиентской машины. И что? Это проблема?
Добавить ОП. Сегодня она копейки вообще стоит. Чо?

Ну хорошо, чем тип отличается от класса? Напишите.
Ладно, таблица 100GB - Вам легче?)
Добавлять память по своему усмотрению можно дома, но в случае промышленной эксплуатации это невозможно в общем случае.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158627
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxНу хорошо, чем тип отличается от класса? Напишите.
Погугли.

AddxЛадно, таблица 100GB - Вам легче?)
Нелегче. Опиши реальный сценарий зачем может понадобиться грузить всю таблицу в память?

AddxДобавлять память по своему усмотрению можно дома, но в случае промышленной эксплуатации это невозможно в общем случае.
Это была проверка на мышление...
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158630
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronViPRosпропущено...

ты малый пытаешься все время влезать в сложные разговоры
ну не твой удел, ты уж не обижайся
Конкретно по предмету есть что сказать, товарищ старперший сержант?
Напрасно пытаешься продать никому уже не нужный DataView (последний раз я его использовал году так в 2005м), я не понимаю, мой отец даже в 64 года старался осваивать новье и не использовал эти классы в работе, а вам с ТСом вроде маленько за 50 (как я понял). Неужели голова совсем не работает уже? Тогда, может, хотя бы не надо так ярко выступать и предлагать людям говно-технологии?
ничего нового нет - есть массивы данных и их обработка
ДДД может быть применен только там, где для 1Д есть полная и конечная онтология (это обычно задачи уже стандартизированные кем то, Эйнштейном, Госдумой, Бандитами,...)
ты все равно нифига не понимаешь, что я зря время на тебя трачу, такой ж ваня как и тс
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158635
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxНу хорошо, чем тип отличается от класса? Напишите.
Неплохо ответ дан тут
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158636
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronДобавить ОП. Сегодня она копейки вообще стоит. Чо?
Это на загнивающем западе!
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158640
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosничего нового нет - есть массивы данных и их обработка
Если ты застрял на одной тематике, это не значит, что весь мир на этом застрял. Раз ты работаешь с массивами данных, ты тем более обязан знать наибольшее количество различных технологий и методир работы с ними, их все плюсы и минусы.

ViPRosДДД может быть применен только там, где для 1Д есть полная и конечная онтология (это обычно задачи уже стандартизированные кем то, Эйнштейном, Госдумой, Бандитами,...)
ты все равно нифига не понимаеш
Ты к чему Энштейна привел, сам понял-то? Ляпнул умную речь, но сам не понял. Так? Сливаешься опять некрасиво.

ViPRosты все равно нифига не понимаешь, что я зря время на тебя трачу, такой ж ваня как и тс
Тебя с твоими неумными советами и откровенными глупостями не понимаю. Не старайся казаться умнее чем есть на самом деле.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158642
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleronне нужны DataTable и DataSet...

В принципе, ничего плохого в них нет. Но как и каждым инструментом, ими нужно уметь пользоваться.
А когда сравниваешь LINQ, DataTable и Fox как TC - ничего хорошего не выйдет.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158644
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВAxeleronДобавить ОП. Сегодня она копейки вообще стоит. Чо?
Это на загнивающем западе!
Ты тоже не понял моего сарказма или подыграл? :)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158646
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxAxeleronне нужны DataTable и DataSet...

В принципе, ничего плохого в них нет. Но как и каждым инструментом, ими нужно уметь пользоваться.
А когда сравниваешь LINQ, DataTable и Fox как TC - ничего хорошего не выйдет.
Да уже как бы выяснили, что проблема ТСа лежит в плоскости попытки перенести свой ФоксПрошный опыт на ДотНет. Плюс к тому же первый учебник по ДотНет, который он прочитал оказался, по всей видимости, датированым 2000ыми годами. Отсюда все проблемы и лезут.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158652
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronAddxНу хорошо, чем тип отличается от класса? Напишите.
Погугли.

[/quot]

Погуглил - там написано, что Вы несете бред.

AxeleronAddxЛадно, таблица 100GB - Вам легче?)
Нелегче. Опиши реальный сценарий зачем может понадобиться грузить всю таблицу в память?


А кто Вам сказал, что такие таблицы нужно грузить в память?
ТС начал сравнивать, сколько в памяти занимает таблица в том или ином представлении.
Я задал ТС наводящий вопрос. Вы смысл его не поняли.
Ладно, раз уж это не очевидно.
Нет смысла грузить много данных в память целиком, если только не предполагается их обработка именно в памяти. Вдруг Вы линейные уравнения решаете? Нужно загружать ровно столько данных, сколько необходимо. В этом фундаментальный смысл взаимодействия СУБД - клиент.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158656
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxНу хорошо, чем тип отличается от класса? Напишите.каждый класс - это тип, но не каждый тип это класс )
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158657
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronПлюс к тому же первый учебник по ДотНет, который он прочитал оказался, по всей видимости, датированым 2000ыми годами. Отсюда все проблемы и лезут.

Проблемы не в этом, а в непонимании основ. Чтение нового учебника тут не поможет.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158658
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProAddxНу хорошо, чем тип отличается от класса? Напишите.каждый класс - это тип, но не каждый тип это класс )

Приведите пример типа, который не является классом.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158667
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поясню, да есть еще struct, которая по ряду признаков отличается от class, но когда я говорил классы - я включил туда и struct. Возможно, смутило это.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158672
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,

ты просто тупой
я тебе отвечать больше не буду
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158691
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxAxeleronпропущено...

Погугли.



Погуглил - там написано, что Вы несете бред.[/quote]
Ты логику в ВУЗе изучал? Видать плохо. А как можно стать программистом, если нет понятия основ логики?
Ссыль выше дал, сиди читай.

AddxА кто Вам сказал, что такие таблицы нужно грузить в память?
Ты же сам предлагал. Или мне показалось?

AddxНет смысла грузить много данных в память целиком, если только не предполагается их обработка именно в памяти. Вдруг Вы линейные уравнения решаете? Нужно загружать ровно столько данных, сколько необходимо.
Об этом и речь как бы...
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158696
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProAddxНу хорошо, чем тип отличается от класса? Напишите.каждый класс - это тип, но не каждый тип это класс )
Запутался. Все как раз наоборот :) Каждый тип - это класс, но не каждый класс - это тип.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158701
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronShocker.Proпропущено...
каждый класс - это тип, но не каждый тип это класс )
Запутался. Все как раз наоборот :) Каждый тип - это класс, но не каждый класс - это тип.
Не, это я сам запутался, прошу прощения
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158705
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxПоясню, да есть еще struct, которая по ряду признаков отличается от class, но когда я говорил классы - я включил туда и struct. Возможно, смутило это.
Структура это никак не класс. Структура - тип значения, класс - ссылочный тип. Оба типы :)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158709
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosAxeleron,

ты просто тупой
я тебе отвечать больше не буду
Ну то что ты дурачок - я не кричу, потому что и так ясно. Отвечать мне не нужно, разрешаю, от тебя пользы все равно никакой. Какие-то сплошные догмы и зашоренность мышления.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158719
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronAddxА кто Вам сказал, что такие таблицы нужно грузить в память?
Ты же сам предлагал. Или мне показалось?


У Вас плохо со зрением. Ничего я такого не предлагал.

AxeleronСтруктура это никак не класс. Структура - тип значения, класс - ссылочный тип. Оба типы :)

Т.е. если я передам структуру по ссылке, она перестанет быть структурой?
Читать книжки полезно, но понимать суть тоже неплохо.
"All structs inherit directly from System.ValueType, which inherits from System.Object."
Т.е. фактически структура не класс, а унаследована от класса. Парадокс?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158728
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxDima TLINQ далеко до фокса, но тут заточка под клиент-сервер, фокс файл-сервер.

LINQ и фокс настолько разные вещи, что их и сравнивать невозможно и бессмысленно.
Подозреваю что не писал ты на фоксе, а только пользовался OLE DB Provider for Visual FoxPro для доступа к DBF.
Кроме поддержки стандартного SQL в фоксе есть поддержка языка XBASE, это часть фокса. У нее схожие с LINQ задачи: обработка реляционных данных на клиенте. Аналог IEnumerable это курсоры (временные таблицы в памяти клиента).

Так что общее есть и достаточно много. Но смысла сравнивать действительно нет, т.к. у каждой платформы своя идеология, свои сильные и слабые стороны, надо их изучать и пользоваться, а не пытаться изобрести как писать по-фоксовски на VB.
Кстати с этого топик и начался
В фоксе вполне нормально такая конструкция работает:
Код: c#
1.
2.
3.
4.
5.
6.
if m = 1
   select ... into cursor result
else
   select ... into cursor result
endif
.. дальше работаем с result



PS По сплетням вроде как разработчики фокса LINQ писали, как раз MS фокс закрыл как проект и команда ушла в разработку LINQ. На
сколько это правда - не знаю.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158739
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxТ.е. если я передам структуру по ссылке, она перестанет быть структурой?
Прошу не путать value type и reference type c передачей по ссылке ref. По ссылке можно передать и такой и такой объект класса или структуры.

Addx"All structs inherit directly from System.ValueType, which inherits from System.Object."
Т.е. фактически структура не класс, а унаследована от класса. Парадокс?
Object => ValueType => Struct
Object => ReferenceType => Class
Структура не класс и по разному работают с памятью. Для этого они и наследуются от ValueType и ReferenceType (выделено)

AddxТ.е. фактически структура не класс, а унаследована от класса. Парадокс?
Кому парадокс. Для меня логично.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158747
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TAddxпропущено...

LINQ и фокс настолько разные вещи, что их и сравнивать невозможно и бессмысленно.
Подозреваю что не писал ты на фоксе, а только пользовался OLE DB Provider for Visual FoxPro для доступа к DBF.
Кроме поддержки стандартного SQL в фоксе есть поддержка языка XBASE, это часть фокса. У нее схожие с LINQ задачи: обработка реляционных данных на клиенте. Аналог IEnumerable это курсоры (временные таблицы в памяти клиента).



Неправильно подозреваешь. ) С фоксом не работал, но с аналогичными системами типа Paradox и Access сталкивался.
Нужно отделять мух от котлет)
DBF, XBASE, .NET, C#, MSSQL - это абсолютно разные вещи. Не знаю, можно ли работать XBASE+MSSQL,
но вот в Access - да. Как и в режиме файл-сервера.
IEnumerable - это отнюдь не временные таблицы в памяти. Насчет курсоров можно согласиться.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158768
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, синтаксический конфуз :) Struct - значимый тип, Class - ссылочный тип.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158773
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronAddxТ.е. если я передам структуру по ссылке, она перестанет быть структурой?
Прошу не путать value type и reference type c передачей по ссылке ref. По ссылке можно передать и такой и такой объект класса или структуры.

Addx"All structs inherit directly from System.ValueType, which inherits from System.Object."
Т.е. фактически структура не класс, а унаследована от класса. Парадокс?
Object => ValueType => Struct
Object => ReferenceType => Class
Структура не класс и по разному работают с памятью. Для этого они и наследуются от ValueType и ReferenceType (выделено)

AddxТ.е. фактически структура не класс, а унаследована от класса. Парадокс?
Кому парадокс. Для меня логично.

При чем тут ref?
Код: c#
1.
2.
3.
4.
5.
6.
struct MyStruct {...}

void myMethod(Object o){...}

MyStruct s;
myMethod((Object)s);



Это называется boxing и unboxing. Почитайте, познавательно.

При чем тут работа с памятью? В .Net много разных механизмов работы с памятью.
Если класс A унаследован от B, а B унаследован от С, то A тоже унаследован от С. Это называется транзитивностью. (MSDN)
Надеюсь, Вы не будете спорить с тем, что Object - это класс?
В Microsoft легко бы обошлись и без промежуточных классов, это сделано для удобства.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158789
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxНеправильно подозреваешь. ) С фоксом не работал, но с аналогичными системами типа Paradox и Access сталкивался.
Значит все-таки не работал. Фокс и Access далеко не одно и тоже. Paradox не пробовал.

Предлагаю сравнения на этом закончить.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158801
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В .NET тип все, к чему может применяться унарный оператор typeof.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158829
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

При этом вершиной всех типов является именно класс Object и они унаследованы именно от него.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158833
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxЕвгенийВ,

При этом вершиной всех типов является именно класс Object и они унаследованы именно от него.
Все верно, Кэп :)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158876
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxЕвгенийВ,

При этом вершиной всех типов является именно класс Object и они унаследованы именно от него.

Код: c#
1.
2.
3.
interface ISql { }

var bt = typeof(ISql).BaseType;
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158880
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВAddxЕвгенийВ,

При этом вершиной всех типов является именно класс Object и они унаследованы именно от него.

Код: c#
1.
2.
3.
interface ISql { }

var bt = typeof(ISql).BaseType;


Шта там? :)
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158896
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxЕвгенийВ,

При этом вершиной всех типов является именно класс Object и они унаследованы именно от него.

... что автоматически делает любой тип классом.
Нужно понимать, что есть синтаксис языка и платформа .NET.
Такие вещи являются следствием натягивания совы на глобус - с одной стороны все является классами, с другой стороны есть специальные типы со специальной обработкой, которые формально тоже являются классами, но объявляются не class, а struct, enum.
Данные ключевые слова являются прерогативой именно C#, а не .NET
Вот как компилится, например, Enum

Код: c#
1.
2.
3.
4.
5.
.class public auto ansi sealed SomeEnum
    extends System.Enum
{
    // ...
}


но обрабатываются struct и enum совершенно особым образом.
т.н. "магия" компилятора.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39158919
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
Код: c#
1.
2.
3.
interface ISql { }

var bt = typeof(ISql).BaseType;



Код: c#
1.
var bb = typeof(ISql) is Object;
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39159577
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторPS По сплетням вроде как разработчики фокса LINQ писали, как раз MS фокс закрыл как проект и команда ушла в разработку LINQ. На
сколько это правда - не знаю.


Странные сплетни. Фокс прикрыли в 2004, LINQ появился в 2008. Четыре года LINQ писали?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39159581
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да и по объему Фокс и LINQ системы несопоставимые.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39160049
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван215Да и по объему Фокс и LINQ системы несопоставимые.
А по крепости в процентном соотношении сопоставимы?
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39162452
Иван215
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА по крепости в процентном соотношении сопоставимы?


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

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


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

Вы крепость системы в чем привыкли измерять? Я так понял - в том, что Вам максимально близко. то есть - в градусах...
Меня удивляют люди, которые сопостовляют несопоставимое. Я просто начинаю думать как устроен их мозг и не нахожу логического объяснения. Вот и все...
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39162488
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronИван215пропущено...


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

Вы крепость системы в чем привыкли измерять? Я так понял - в том, что Вам максимально близко. то есть - в градусах...
Меня удивляют люди, которые сопостовляют несопоставимое. Я просто начинаю думать как устроен их мозг и не нахожу логического объяснения. Вот и все...
Тебе просто не хочется углубляться в их комплексы, вот и не находишь
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39162735
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronМеня удивляют люди, которые сопостовляют несопоставимое. Я просто начинаю думать как устроен их мозг и не нахожу логического объяснения. Вот и все...объяснение простое: он не устроен, а расстроен.
...
Рейтинг: 0 / 0
Выполнение LINQ-запроса внутри условного оператора
    #39162817
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Addx
Код: c#
1.
var bb = typeof(ISql) is Object;


О как!
Зачем демонстрировать элементарное незнание языка?
Оператор typeof возвращает объект типа Type, который отнаследован от MemberInfo, _Type, IReflect, MemberInfo от Object, ICustomAttributeProvider, _MemberInfo и естественно is Object будет труЁ.
...
Рейтинг: 0 / 0
220 сообщений из 220, показаны все 9 страниц
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Выполнение LINQ-запроса внутри условного оператора
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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