[C#] Almacenar datos de una aplicación C #


Answers

Una base de datos probablemente sería excesiva para algo como esto: comience con el almacenamiento de su información en un documento XML (o una serie de documentos XML, si hay una gran cantidad de datos). Obtienes todo el ingenioso material de implementación de XCopy, aún puedes usar LINQ, y sería una transición suave a una base de datos si luego decidieras que realmente necesitabas una lógica de consulta relacional.

Question

Recientemente comencé a aprender algo de C # y escribí un clon de Yahtzee. El siguiente paso (ahora que la lógica del juego está en su lugar y funciona correctamente) es integrar algún método para mantener estadísticas en todos los juegos jugados.

Mi pregunta es: ¿cómo debo almacenar esta información? Lo primero que pensé fue usar una base de datos y tengo la sensación de que esa es la respuesta que obtendré ... si ese es el caso, ¿podría indicarme un buen recurso para crear y acceder a una base de datos desde una aplicación C #?

Almacenar en un archivo XML en realidad tiene más sentido para mí, pero pensé que si sugería que sería destrozado;). Estoy acostumbrado a crear aplicaciones web y, para aquellos, los archivos de texto generalmente son mal vistos.

Entonces, yendo con un archivo XML, ¿qué clases debería estar mirando que permitan una fácil manipulación?




Recomiendo guardar sus datos en POCO simples y serializarlos en xml o en un archivo binario, como hizo Brian anteriormente.

Si te gustan las bases de datos, te sugiero Sql Server Compact Edition , o VistaDB . Ambos están alojados inproc dentro de su aplicación.




SQL Express de MS es una gran versión gratuita y liviana de su base de datos SQL Server. Podrías probar eso si vas por la ruta DB.

Alternativamente, puede simplemente crear conjuntos de datos dentro de la aplicación y serializarlos en xml, o puede usar algo como el Entity Framework recién creado que se incluye con .NET 3.5 SP1.




Puede usar el espacio de nombres System::Xml o el espacio de nombres System::Data . El primero le da XML sin procesar, el último le da un práctico contenedor para el XML.