![]() |
|
Модераторы: gambit |
![]()
|
|
| Compositum |
|
|||
|
Senior developer ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 430 Регистрация: 6.1.2008 Где: Санкт-Петербург Репутация: нет Всего: 1 |
M$ возлагает огромные надежды на автономную модель, как я понимаю (например из того, что вся книга Сахила Малика пропитана ее восхвалениями), но, как ни странно, по отзывам на др. форуме, я вижу, что в реалии ее не любят, отдавая предпочтение выборке в подключенном стиле... Ока, но! У меня в этом случае сразу возникает вопрос. DataSet копирует структуру базы (упрощенная модель). Т.е. в ней присутствуют ограничения и связи (жаль конечно, что триггеров нет). Но это хоть в какой-то мере похоже на копию источника данных. Это я к тому, что все проверки и вычисления должны выполняться не на стороне клиента а в самой базе, за счет имеющихся ограничений, триггеров, х.п. . ИМХО. Работая с автономной моделью, мы работаем, можно сказать с образом базы, который отчасти выполнит те действия/проверки, которые должна была выполнить реальная база.
В случае подключенного стиля - все проверки придется выполнять на стороне клиента, что весьма не удобно и, как мне кажется, не рационально, поскольку это все равно будет делаться на сервере. Можно конечно же каждую запись править/добавлять в отдельно вызываемом окне формы, заблокировав ДатаГридВью, чтобы юзер не мог править данные непосредственно в ней, но... Теряется удобство и, что весьма не маловажно - дружелюбный, интуитивно понятный интерфейс. Малик посвятил работе в подключенном стиле всего одну главу (5-ю), размер которой всего 31 стр. Все остальное - под автономную модель... Вся книга пропитана идеей, что автономная модель спасет мир. =))) Хочу, прежде чем определиться с моделью, собрать вместе и проанализировать мнения людей, имеющих опыт в данном вопросе. Сибки. Это сообщение отредактировал(а) Compositum - 7.1.2008, 11:20 |
|||
|
||||
| Compositum |
|
|||
|
Senior developer ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 430 Регистрация: 6.1.2008 Где: Санкт-Петербург Репутация: нет Всего: 1 |
ока. задам вопрос такой:
Допустим, что работа ведется без датаСет. Т.е. я отправляю х.п., получаю выборку данных. Вешаю на события добавления/обновления/удаления моей ДатаГридВью вызов необходимых х.п. Параллельно др. юзер сидит и правит этот же список записей (допустим, что одну и ту же запись мы править не будем никогда). Мне ведь нужно видеть результаты и его правки, дабы я не ввел инфу, которую он уже ввел (дабы дурную работу не делать). т.о. я должен после каждого добавления/удаления/обновления либо очищать датаТаблу, с которой мой ДатаГридВью считывает записи, и заполнять поновой, либо иметь дополнительную таблу, в которую будет копироваться текущая выборка записей с сервака, затем программно сравнивать содержимое обоих таблов и добавлять в отображаемые мне данные те, которых у меня не хватает (т.е. не придется делать полную "перерисовку" моего ДатаГридВью). Вот 2 способа, которые приходят мне на ум. Из опыта подскажите плиз, какой лучше взять на вооружение и почему? Возможно есть третий и даже четвертый... Буду рад услышать и их.... |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Есть аналог триггеров - события RowAdded, RowChanged etc Такие вопросы лучше задать на sql.ru, там теоретики БД сидят. Или книжку умную достать. Где-то в одной из книг я видел аж три способа организации lock-ов с помощью дополнительных полей в таблицах а-ля timestamp, и триггеров проверяющих на предмет конкуретного доступа на запись. Не помню книгу. -------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |