Что касается архитектуры панелей / пользовательского интерфейса, может быть полезно взглянуть на Prism (из шаблонов и практик Microsoft). Это архитектура / набор библиотек для обработки составного пользовательского интерфейса, где пользовательский интерфейс загружается во время выполнения и состоит из независимых взаимодействующих частей. Одно замечание: он создан для использования с WPF или Silverlight; существует более старая библиотека с аналогичной функциональностью для WinForms, которая называется « CAB » и больше не поддерживается.
Что касается доступа к данным, похоже, что вы хотите реализовать активную блокировку записи, когда запись открыта для редактирования в пользовательском интерфейсе; это независимая функция от используемого вами кода доступа к данным. Может быть проще реализовать блокировку на уровне базы данных, если вы используете прямой ADO.NET против EF, который добавляет уровни абстракции.