Вы на самом деле не описываете тип данных, с которыми вы работаете, поэтому я бы сказал, что ответ варьируется.
Использование правильной СУБД для этого было бы лучше, если быданные, с которыми вы работаете, обычно можно рассматривать как ориентированные на записи / поля (и в редких случаях, даже если это не так).В этом случае я бы порекомендовал MSSQL CE, так как его среда выполнения уменьшит для вас многопользовательские проблемы.
Обычно SQLite считали базой данных для одного пользователя / приложения (по крайней мере, когда я использовал ее в C), хотя все моглоизменились за последние 5 лет.Если вы используете .NET 4, то из того, что я нашел, мало доступных адаптеров для использования, если вы не знакомы со смешанным фреймворком.
Я бы только контролировал блокировку файлов вручную, если выВы находитесь в ситуации, когда данные довольно плоские по конструкции (например, файл журнала), хотя, если бы это были данные, подобные журналу, я бы, вероятно, посмотрел, как это делают некоторые библиотеки журналов с открытым исходным кодом.Вы в основном сказали, что у вас есть контроль над структурой данных, поэтому я бы предложил изменить структуру данных, чтобы сделать их более нормализованными / жесткими, чтобы избежать использования этого решения.