Reputation: 5905
I've used databases in asp.net but I now have a situation where I need the power/flexibility of a database but I need to ship it with my application. I need to access my tables and create new ones etc but without requiring the user to have any kind of database software installed. I.e. I want it to be self-sufficient. What are my options? Of course standard serialization could be used but I want to use an actual database technology for cases where the records are in the tens of thousands.
Thanks for any input!
Upvotes: 2
Views: 703
Reputation: 503
There is a good series of articles regarding SQLLite here:
the remaining 6 articles are posted at the bottom of this page
Upvotes: 2
Reputation: 1032
You're probably looking at some sort of embedded / in-process database. Microsoft espouses their lite version of SQL Server. My personal recommendation is to look at SQLite. SQLite leaves you with a single DLL to run the database and one file for the actual db data.
The System.Data.SQLite project is an awesome community contribution to bridge the gap between SQLite and what .NET developers have come to expect with commerical database integration. With this project you get a driver with full ADO.NET 2.0 support, ADO.NET Entity Framework support and Visual Studio database design time integration.
Give it a look. You'll be up and running in no time and I'm sure you'll be impressed.
Upvotes: 3
Reputation: 8181
Sounds like you want an in-process database. Look at SQLLite or MS SQLCE.
Upvotes: 1
Reputation: 7549
You could use Sql Express or Sql Compact if the database is user specific. If the database is shared between users you can still use Sql Express, but then you're stuck deploying a separate server installer.
Upvotes: 1