9
votes

Quelle est la meilleure façon de sauvegarder des données localement dans une application WPF?

Je construis des Application WPF pour gérer mon heure. J'aimerais économiser du temps sur le temps de travail sur le projet pour une journée de calendrier.

Donc, ma question est de savoir quel est le meilleur choix sur la manière de sauvegarder les données? Je pouvais avoir pu utiliser un fichier XML, un Accéder au fichier de base de données ou peut-être une propriété. Je voudrais enregistrer les données localement, donc no action SQL Server dans ce cas. :)

Que pensez-vous, de quelle façon d'aller?


0 commentaires

4 Réponses :


6
votes

Je sais que vous avez dit aucun serveur SQL, mais je lis cela pour signifier que vous ne voulez pas de "serveur" et que vous souhaitez stocker vos données sur le client. Je suppose également que vous ne dérangeriez probablement pas une certaine gestion de vos données. Vous savez, des choses comme la sauvegarde. Et les transactions sont toujours bien, de sorte que vos données peuvent rester cohérentes. Ainsi, alors que vous pouvez utiliser XML (veuillez bannir toutes les pensées d'accès de votre esprit), vous finiriez par rouler votre propre persistance, quand il s'agit d'un problème résolu.

Alors, veuillez consulter la liberté SQL Server compact édition. Il est léger, conçu pour fonctionner sur un ordinateur de bureau ou un appareil mobile et est facilement déployable si votre application doit le faire. Et tous les cadres de persistance communs le soutiennent. Et ai-je mentionné que c'est gratuit (comme en coûte rien)?


4 commentaires

Mon projet Sandbox Personal est plus ou moins la même chose. J'ai choisi d'utiliser SQLCE comme moyen d'apprendre également LINQ2SQL. Si je devais le refaire, je pourrais choisir d'utiliser Sqlce W / ADO ou (si pratique, n'a pas encore fait la recherche) quelque chose en ligne avec le service de Cloud Amazon, Google ou MS.


Pourquoi ne pas utiliser SQLite? Il s'intègre très bien avec toutes les choses .NET et réside comme un fichier unique sur un système de fichiers.


Je vote aussi pour SQLite. Il y a un fournisseur de cadre d'entité pour cela, BTW.


Je suis indifférent si Richard utilise SQL Server ou SQL Lite. Mon point est fondamentalement "ni XML ni accès car il s'agit d'un problème résolu, alors partez avec une solution légère, puissante, gérable et transaction qui est déjà prouvée". Merci d'avoir souligné l'existence de SQL Lite. Si je construisiez cela moi-même, j'aurais fait défaut sur SQL Server à cause de ma longue expérience en utilisant son grand frère toute la journée. (Je le ferais probablement encore, mais au moins je sais qu'il y a des alternatives maintenant.) Ce type de retour est pourquoi je le fais.



4
votes

Je suggérais de choisir la source de données la plus facile possible et de le découpler de manière appropriée afin que vous puissiez tomber dans une nouvelle source de données différente ultérieure lorsque vous déterminez ce qui convient à vos besoins. À cette fin, vous pouvez trouver quelque chose comme xml ou même en clair à être la chose la plus simple qui puisse éventuellement fonctionner.

Une fois que vous avez déterminé les caractéristiques dont vous aurez besoin de votre DataSource, en fonction de votre utilisation réelle, choisissez le magasin de support approprié.

Je ne pense pas qu'il est essentiel de prendre cette décision à l'avance car il s'agit d'un projet personnel, pas d'une commerciale.


0 commentaires

5
votes

Je voudrais saisir SQLite soit sous sa forme pure ou parfaite (faire une recherche Google 'SQLite .NET' vous donnera quelques options là-bas). Il est super portable et, à mon avis, plus facile de configurer et de distribuer que SQL Server compact.

L'important est de vous assurer que vous n'êtes pas trop étroitement couplé à votre mécanisme de persistance dans votre code. À l'avenir, vous pouvez facilement substituer toute stratégie de stockage que vous souhaitez.


0 commentaires

1
votes

Une approche simple morte que j'ai utilisée dans le passé est votre idée "fichier xml". Créez simplement un objet qui décrit les données que vous aimez, puis les sérialiser à XML.

Greg est absolument correct lorsqu'il dit que votre DataSource est découplée correctement afin que vous puissiez le changer si vos exigences changent.


0 commentaires