Ищу самый безболезненный метод хранения без RDBMS в C#
-
23-09-2019 - |
Вопрос
Я пишу простую программу, которая будет работать полностью на стороне клиента. (Программирование настольных компьютеров? Люди все еще делают это?) И мне нужен простой способ хранения тривиальных объемов данных в структурированной форме, но на самом деле я не вижу необходимости использовать систему базы данных. Более того, некоторые данные должны быть сериализованы и переданы разным пользователям, например, какой -то «файл» или, возможно, «документ». (Кто -нибудь когда -нибудь делал это раньше?)
Итак, я смотрел на использование наборов данных .NET, LINQ, прямых манипуляций XML, и все они, похоже, выполнят работу, но я хотел бы знать, прежде чем погрузиться в любой из них, если есть один метод, который обычно является считается проще кодировать, чем другие. Как я уже сказал, объем хранимых данных является тривиальным, даже если сто человек использовали одну и ту же машину, о которой мы не говорим более 10 МБ, поэтому производительность не такая большая проблема, как является кодеативностью/обслуживаемостью. Спасибо всем заранее!
Другие советы
Любая сериализационная API должна делать здесь нормально. Я бы порекомендовал что -то, что основано на контракте (нет BinaryFormatter
, который основан на типах), так как это будет обеспечивать использование с течением времени (по мере изменения вашей сборки).
Поэтому я бы построил базовую объектную модель (DTO) и использовал любой из:
XmlSerializer
DataContractSerializer
- Protobuf-Net (вы все знали, что это произойдет ...)
Оо, просто и просто. И простые в использовании для передачи фрагментов данных (либо между пользователями на центральный сервер).
Я бы выбрал встроенную базу данных. Использование чего -то вроде SQLite не кажется для меня избыточным. Вы можете даже попробовать его порт C# (http://code.google.com/p/csharp-sqlite/).