2010-07-27 4 views
3

Ce que je veux faire est:De quel type de cadre de données existe-t-il?

  • Les valeurs de charge pour un programme à partir d'un fichier.
  • Lire/Ajouter/Modifier ces valeurs.
  • Enregistrer ces valeurs dans le fichier
  • Je voudrais être en mesure d'avoir une base de données le fichier
  • Je veux que la plupart des données que possible de rester en mémoire, donc je ne suis pas marteler la fichier
  • Je voudrais interroger LINQ ou être en mesure d'utiliser un langage de requête standard
  • Je veux que les données renvoyées sous forme de tableaux d'objets

je figure il a être à quelque chose comme ça là-bas. Un peu comme le support du GAE mais pour C# et les applications locales. Je cherche des noms pour ce type d'interaction de données et de projets, de préférence gratuits avec licence non infectieuse et écrasante, pour aider à construire ma compréhension et l'utilisation du concept.

Répondre

1

Compte tenu de vos besoins, je recommanderais de regarder Entity Framework. Il répond à presque toutes vos exigences de requête/mise à jour et fonctionne avec de nombreuses bases de données. Pour une base de données de fichiers unique fonctionnant avec EF, vous pouvez envisager SQL Server CE. La version 4 est actuellement en version bêta et gère votre fichier unique, principalement en mémoire, etc. La seule chose est que, en utilisant LINQ avec EF, vous obtiendrez vos objets comme IQueryable<T> ou IEnumerable<T>, typiquement pas comme des tableaux. Vous pouvez toujours appeler .ToArray() pour les convertir en tableau, mais ce n'est généralement pas nécessaire.

0

Vous souhaitez un document XML auquel vous accédez facilement à l'aide de Linq to XML.

XDocument.Load(memoryStream) 

Et vous êtes sur votre chemin.

+0

LINQ to XML utiliserait 'XDocument'. –

+0

Duh, je ne sais pas pourquoi j'ai dit XmlDocument .. J'utilise LINQ to XML tout le temps, cerveau stupide quelque chose de quelque chose .. –

1

La bonne façon de faire cela dépend de la quantité de données que vous avez et comment vous devez y accéder.

Vous pouvez simplement utiliser un fichier XML et Linq-to-XML si vous parlez vraiment d'un type de fichier de configuration qui pourrait être en mémoire à la fois. Si vous parlez de beaucoup de données, vous pouvez consulter une base de données comme SQLite ou SQL Server Express ou SQL Server Compact Edition.

Questions connexes