powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / В чем преимущества ADO.Net?
25 сообщений из 85, страница 2 из 4
В чем преимущества ADO.Net?
    #35447683
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобучрасскажи, что из моего списка теряет актуальность.
1. констрейнтs - в печь
2. модель транзакций - в печь
3. ACIDнутость - в топку
4. Сериализация датасетов - чего? Тормоз, по сравнению с чем?
5. Неполные структуры данных - что нужно, то и заливайте запросом. Нечего на клиенте держать данные. Нужны данные - обращайтесь на сервер.
6. Пейджинг и подкачка данных по требованию - руки + голова + хвост. Мало?
7. Про типизацию - не говорим.

Что еще?

Алексей К МСУЧто? Какое позднее связывание используется в нетипизированном датасете? Какие еще скрипты? PHP? DataTable.Compute(), DataColumn.Expression ? Нах было их делать? Где аналог OnCalcFields ?

Compute, Expression - дровишки по чём брали? Про OnCalcFields - согласен. Хорошая фишка у дельфтникоф.
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447692
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ Алексей К МСУЧто? Какое позднее связывание используется в нетипизированном датасете? Какие еще скрипты? PHP? DataTable.Compute(), DataColumn.Expression ? Нах было их делать? Где аналог OnCalcFields ?

Compute, Expression - дровишки по чём брали?В смысле? Чем не пример позднего связывания?
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447703
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного фанатизма и я счастливый обладатель OnCalcFiends.
Код: plaintext
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
        private bool m_ChangingFromEvent = false;

        private void SourceDataTable_ColumnChanging(object sender, DataColumnChangeEventArgs e)
        {
            if (m_ChangingFromEvent)
                return;
            m_ChangingFromEvent = true;
            try
            {
                OnColumnChanging(e);
            }
            finally
            {
                m_ChangingFromEvent = false;
            }
        }

        private void SourceDataTable_ColumnChanged(object sender, DataColumnChangeEventArgs e)
        {
            if (m_ChangingFromEvent)
                return;
            m_ChangingFromEvent = true;
            try
            {
                OnColumnChanged(e);
            }
            finally
            {
                m_ChangingFromEvent = false;
            }
        }

        private void SourceDataTable_RowDeleting(object sender, DataRowChangeEventArgs e)
        {
            if (m_ChangingFromEvent)
                return;
            m_ChangingFromEvent = true;
            try
            {
                OnRowDeleting(e);
            }
            finally
            {
                m_ChangingFromEvent = false;
            }
        }

        private void SourceDataTable_RowDeleted(object sender, DataRowChangeEventArgs e)
        {
            if (m_ChangingFromEvent)
                return;
            m_ChangingFromEvent = true;
            try
            {
                OnRowDeleted(e);
            }
            finally
            {
                m_ChangingFromEvent = false;
            }
        }

        private void SourceDataTable_RowChanging(object sender, DataRowChangeEventArgs e)
        {
            if (m_ChangingFromEvent)
                return;
            m_ChangingFromEvent = true;
            try
            {
                OnRowChanging(e);
            }
            finally
            {
                m_ChangingFromEvent = false;
            }
        }

        private void SourceDataTable_RowChanged(object sender, DataRowChangeEventArgs e)
        {
            if (m_ChangingFromEvent)
                return;

            m_ChangingFromEvent = true;
            try
            {
                if (e.Action == DataRowAction.Add || e.Action == DataRowAction.Change ||
                    (e.Action == DataRowAction.Rollback && e.Row.RowState == DataRowState.Unchanged))
                {

                    bool unchanged = e.Row.RowState == DataRowState.Unchanged;
                    e.Row.BeginEdit();
                    try
                    {
                        OnCalculateFields(e);
                        e.Row.EndEdit();
                    }
                    catch
                    {
                        e.Row.CancelEdit();
                        throw;
                    }
                    if (unchanged)
                        e.Row.AcceptChanges();
                }
                OnRowChanged(e);
            }
            finally
            {
                m_ChangingFromEvent = false;
            }
        }
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447704
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КCompute, Expression - дровишки по чём брали?В смысле? Чем не пример позднего связывания?[/quot]
Чем вяжете? Рефлектором? :)
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447708
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНемного фанатизма и я счастливый обладатель OnCalcFiends.
Лёнь, а отдельный вменяемый класик накидать да народу дать понюхать? :)
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447719
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ Алексей КВ смысле? Чем не пример позднего связывания?
Чем вяжете? Рефлектором? :)
Речь идёт о самом процессе вычисления значений внутри этих методов.
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447733
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К МСУ Алексей КВ смысле? Чем не пример позднего связывания?
Чем вяжете? Рефлектором? :)
Речь идёт о самом процессе вычисления значений внутри этих методов.

А почём Вам известно, что оно там вычисляеццо?

P.S. А где в коде определение OnCalculateFields(e)?
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447738
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ Алексей КНемного фанатизма и я счастливый обладатель OnCalcFiends.
Лёнь, а отдельный вменяемый класик накидать да народу дать понюхать? :)Не. Это всё отголоски прошлого. Этот класс (компонент с дизайнерами!!! ) принесёт окружающим больше вреда чем пользы. :-)
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447743
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУP.S. А где в коде определение OnCalculateFields(e)?Ну обычное событие
Код: plaintext
1.
2.
3.
4.
5.
        public event DataRowChangeEventHandler CalculateFields;
        protected virtual void OnCalculateFields(DataRowChangeEventArgs e)
        {
            if (CalculateFields != null)
                CalculateFields(this, e);
        }
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447750
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА почём Вам известно, что оно там вычисляеццо?Я не пойму вашего вопроса. :-)
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447751
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ1. констрейнтs - в печь
Вот прям вот так вот разрешить добавлять в датасет заведомо невалидные данные?
МСУ2. модель транзакций - в печь
3. ACIDнутость - в топку
У тебя, наверное, какие-то волшебные датасеты, которые всегда остаются в согласованном состоянии -- даже если откатилась, дойдя до половины, системная транзакция?
МСУ4. Сериализация датасетов - чего? Тормоз, по сравнению с чем?
По сравнению со всем. Датасеты принципиально не поддерживают бинарную сериализацию -- только опосредованно, через промежуточное представление в XML.
МСУ5. Неполные структуры данных - что нужно, то и заливайте запросом. Нечего на клиенте держать данные. Нужны данные - обращайтесь на сервер.
Ты в курсе, что давно признано, что лучше сходить к серверу один раз, но загрузить больше данных, чем ходить много раз и брать по чайной ложке? Плюс если учесть, что прозрачно для клиентского кода дозагрузку данных в датасет не сделать, то получаем совсем безрадостную картину.
МСУ6. Пейджинг и подкачка данных по требованию - руки + голова + хвост. Мало?
Не мало, а непонятно, что вообще имелось в виду.
МСУЧто еще?
Да ничего. Банальные классы с паблик-полями -- и те лучше будут.
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447801
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно аналог через DataTable?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
class MyEntity
{
    public DateTime MyDate { get; set; }
    
    public int ElapsedMinutes
    {
        get { return (DateTime.Now - MyDate).TotalMinutes; }
    }
}
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447893
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тормозные датасеты, как ни крути... ((

Как-то ради эксперимента сравнил датасет с датаридером. В первом создавалась табличка, заполнялась датаадаптером. По тому же запросу создавался датаридер, который прокручивался в цикле (т.е. данные с сервера поступали). Так заполнение датасета в среднем оказалось в 3 раза медленней, чем манипуляции с датаридером! Это что же за фигня, когда действия с базой в разы быстрее, чем действия в оперативной памяти?!
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447923
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нахлобуч МСУ1. констрейнтs - в печь
Вот прям вот так вот разрешить добавлять в датасет заведомо невалидные данные?
У меня невалидные данные хп не даст (или просто запрос). Так же и я могу спросить у Вас, а если Вы невалидный актив-рекорд класс сделаете?
Нахлобуч МСУ2. модель транзакций - в печь
3. ACIDнутость - в топку
У тебя, наверное, какие-то волшебные датасеты, которые всегда остаются в согласованном состоянии -- даже если откатилась, дойдя до половины, системная транзакция?
Датасеты - просто отображение того, что есть на сервере. Волшебства им не нужно. Сервер рулит безопасностью и логикой. Так зачем тут согласование?
Нахлобуч МСУ4. Сериализация датасетов - чего? Тормоз, по сравнению с чем?
По сравнению со всем. Датасеты принципиально не поддерживают бинарную сериализацию -- только опосредованно, через промежуточное представление в XML.
"По сравнению со всем" - чувствуется уровень, проехали. Бинарная сериализация не уперлась в датасетах. XML покрывает множество задач при импортах/экспортах. К тому же отлично используется эта модель представления в различных Workflow, в том же Integration Services. Так на кой мне городить бинары?
Нахлобуч МСУ5. Неполные структуры данных - что нужно, то и заливайте запросом. Нечего на клиенте держать данные. Нужны данные - обращайтесь на сервер.
Ты в курсе, что давно признано, что лучше сходить к серверу один раз, но загрузить больше данных, чем ходить много раз и брать по чайной ложке? Плюс если учесть, что прозрачно для клиентского кода дозагрузку данных в датасет не сделать, то получаем совсем безрадостную картину.
Глупости. Признано кем? Дядям, зарабатывающим на детских книжках про активрекордность? Пойдите это скажите тетям из биллинговых компаний, в которых юзаются таблицы 10-милиионники и больше. Посмотрим, сколько лет Вы будете ждать, пока наполнится клиентский класс. Мимо, Нахлобуч, мимо. Для детских данных в 100 записей - да, Ваш вариант лучше.
Нахлобуч МСУ6. Пейджинг и подкачка данных по требованию - руки + голова + хвост. Мало?
Не мало, а непонятно, что вообще имелось в виду.
Пишем букафки в коде, вот я о чем. Если прижало. А прижимает редко, уверяю Вас.
Нахлобуч МСУЧто еще?
Да ничего. Банальные классы с паблик-полями -- и те лучше будут.
Не убедительно, простите.
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447927
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C#C++Тормозные датасеты, как ни крути... ((
Может, Вы не умеете их готовить?
C#C++Как-то ради эксперимента сравнил датасет с датаридером.
И сравнивать не нужно, ридер, по определению, быстрее.
C#C++Это что же за фигня, когда действия с базой в разы быстрее, чем действия в оперативной памяти?!
"Действия с базой" - и есть работа с памятью.
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447931
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМожно аналог через DataTable?
При нормально сформулированной задаче - можно. Всегда есть выход, просто его нужно уметь отыскать. )
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447934
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C#C++Это что же за фигня, когда действия с базой в разы быстрее, чем действия в оперативной памяти?!Это нормально, учитывая, что в сервере БД есть кэш данных.
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447941
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ
C#C++Это что же за фигня, когда действия с базой в разы быстрее, чем действия в оперативной памяти?!
"Действия с базой" - и есть работа с памятью.Не только. Это ещё и выполнение запроса (а значит, IO), и передача данных по сети. Эти штуки работают гораздо медленней, чем ОП.
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447951
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C#C++Тормозные датасеты, как ни крути... ((
датасет - это место где данные лежат, он их не сам достает. если даже (если даже) разница в 3 раза, ну так читай данные датаридером, пихай их все равно в датасет. вопрос о том, когда данные уже у клиента
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447960
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C#C++Не только. Это ещё и выполнение запроса (а значит, IO), и передача данных по сети. Эти штуки работают гораздо медленней, чем ОП.
А это тут причем? Я про хранение информации. А если нужны более высокие скорости - курите ридер.

chpasha C#C++Тормозные датасеты, как ни крути... ((
датасет - это место где данные лежат, он их не сам достает. если даже (если даже) разница в 3 раза, ну так читай данные датаридером, пихай их все равно в датасет. вопрос о том, когда данные уже у клиента

Абсолютно согласен. Странно, что коллеги это не понимают.
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447964
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ Алексей КМожно аналог через DataTable?
Всегда есть выход, просто его нужно уметь отыскать. )МСУ, ты случайно не Redbelt насмотрелся, там глaвный герой всю дорогу как раз это талдычит
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447974
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha МСУ Алексей КМожно аналог через DataTable?
Всегда есть выход, просто его нужно уметь отыскать. )МСУ, ты случайно не Redbelt насмотрелся, там глaвный герой всю дорогу как раз это талдычит
Неа, букафки сами из головы полезли - совпадение
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447979
C#C++
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chpasha C#C++Тормозные датасеты, как ни крути... ((
датасет - это место где данные лежат, он их не сам достает. если даже (если даже) разница в 3 раза, ну так читай данные датаридером, пихай их все равно в датасет. вопрос о том, когда данные уже у клиентаТак это понятно, что их туда датаадаптер заливает, а не сам датасет. Меня удивило, что он заполняется так долго.
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447984
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ Алексей КМожно аналог через DataTable?
При нормально сформулированной задаче - можно. Всегда есть выход, просто его нужно уметь отыскать. )В том-то всё и дело. Вы будете искать "выход". А я буду реализовывать наиболее подходящую объектную модель.
...
Рейтинг: 0 / 0
В чем преимущества ADO.Net?
    #35447992
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ том-то всё и дело. Вы будете искать "выход". А я буду реализовывать наиболее подходящую объектную модель.
Очень абстракно говорите, не сформулировав задачу. Решение, возможно, на поверхности - Вы не думали о таком повороте событий?
...
Рейтинг: 0 / 0
25 сообщений из 85, страница 2 из 4
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / В чем преимущества ADO.Net?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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