Как лучше всего управлять параллелизмом в приложении доступа к базе данных?

Некоторое время назад я написал приложение, используемое несколькими пользователями для обработки создания сделок. Я уже некоторое время не занимаюсь разработкой и не могу вспомнить, как управлял параллелизмом между пользователями. Поэтому мне нужен совет по поводу дизайна.

Исходное приложение имело следующие характеристики:

  • Один тяжелый клиент на пользователя.
  • Единая база данных.
  • Доступ к базе данных для каждого пользователя для вставки / обновления / удаления сделок.
  • Сетка в приложении, отражающая таблицу сделок. Эта сетка обновляется каждый раз, когда кто-то меняет сделку.
  • Я использую WPF.

Вот что мне интересно:

  1. Прав ли я, думая, что мне не нужно заботиться о подключении к базе данных для каждого приложения? Учитывая, что в каждом есть синглтон, я бы без проблем ожидал одно соединение для каждого клиента.

  2. Как я могу предотвратить параллелизм доступа? Я думаю, мне нужно заблокировать при изменении данных, но не помню, как это сделать.

  3. Как настроить сетку для автоматического обновления при обновлении моей базы данных (например, другим пользователем)?

Заранее благодарим вас за помощь!

9
задан Goul 13 January 2011 в 13:19
поделиться