2009-06-19 9 views
10

Je suis en train de concevoir une petite application dans .Net et dans le passé, j'ai utilisé MSAccess comme base de données autonome que je peux expédier avec le programme. Mais je me demandais si de nos jours il n'y avait pas de solutions alternatives, aussi faciles à intégrer dans une application .Net, que transparentes pour l'utilisateur et peut-être meilleures performances avec une grande quantité de données?base de données autonome

Répondre

20

Vos options sont:

SQL CE et Firebird sont beaucoup plus rapides lorsque vous avez besoin écrit multithread, SQLite est roi pour l'accès mono-thread, ou lit multithread. VistaDb est géré à 100% pour que vous puissiez l'expédier sur des périphériques intégrés. Ces DB en général vous donneront une meilleure fiabilité et performance à l'accès. Je recommande fortement de ne pas utiliser l'un de ces dbs sur un partage réseau.

+0

Pour Firebird vous pouvez voir ici: http: // www.firebirdnews.org/docs/fb2min.html –

+0

ESE n'est plus difficile à intégrer avec .NET ... Vous pouvez utiliser ESENT Managed Interop http://www.codeplex.com/ManagedEsent – spinodal

+0

ese net est encore assez complexe consommer par rapport aux autres dbs embarqués, il a un grand avantage qu'il soit livré avec windows. –

1

SQLite semble correspondre à vos besoins - voir here plus.

2

Oui. Je recommande System.Data.SQLite, ce qui est une enveloppe de ADO.NET autour SQLite, une base de données intégrée populaire écrit en C.

1

Il y a toujours SQL Server CE... mais j'ai trouvé SQLite être beaucoup plus facile de travailler avec, en particulier avec System.Data.Sqlite