Procurando o método de armazenamento não-RDBMS mais indolor em C#
-
23-09-2019 - |
Pergunta
Estou escrevendo um programa simples que será executado totalmente do lado do cliente. (Programação da área de trabalho? As pessoas ainda fazem isso?) E preciso de uma maneira simples de armazenar quantidades triviais de dados em um formulário estruturado, mas realmente não vê necessidade de usar um sistema de banco de dados. Além disso, alguns dos dados precisam ser serializados e transmitidos a diferentes usuários, como algum tipo de "arquivo" ou talvez um "documento". (Alguém já fez isso antes?)
Então, eu olhei para usar conjuntos de dados .NET, LINQ, manipulação direta de XML, e todos parecem fazer o trabalho, mas eu gostaria de saber antes de mergulhar em qualquer um deles se houver um método que geralmente seja considerado mais fácil de codificar do que outros. Como eu disse, a quantidade de dados a serem armazenados é trivial, mesmo que cem pessoas usassem a mesma máquina que não estamos falando de mais de 10 MB, portanto o desempenho não é tão grande quanto a codificação/manutenção. Obrigado a todos antecipadamente!
Outras dicas
Qualquer API de serialização deve se sair bem aqui. Eu recomendaria algo que seja baseado em contrato (não BinaryFormatter
, que é baseado em tipo), pois isso o manterá utilizável com o tempo (conforme a sua montagem muda).
Então, eu construiria um modelo de objeto básico (DTO) e usaria qualquer um de:
XmlSerializer
DataContractSerializer
- Protobuf-Net (todos vocês sabiam que estava chegando ...)
OO, simples e fácil. E fácil de usar para passar fragmentos dos dados (entre usuários de um servidor central).
Eu escolheria um banco de dados incorporado. Usar algo como Sqlite não parece ser um exagero para mim. Você pode até tentar sua porta C# (http://code.google.com/p/csharp-sqlite/).