Deploying a database in the production server is always a tidy task for the developer.
Installation issues, security issues, migration from development to production
the list goes… This scenario holds good only for network based database. To
avoid this overhead (Headache too!!) some developers may opt for MS Access. This
Access based solution will not work for you if you are going to develop large
database centric application.
You may ask, I am going to leverage only minimal use of database in my
application, so what’s wrong in using access? Good Catch!! You can use access,
so that you can carry your database wherever you are deploying the application.
Hold on, by doing so you are losing a magic. Yes magic! The name of the magic is
Entity Framework. Using Entity Framework you can speak to your database with few
lines of coding and create application in minutes (even in seconds). Sounds
interesting! Do google "Entity Framework"!!.
Fine,Thinking about the solution ?? The answer is SQL CE.
SQL CE is a free, embedded, database engine that enables easy database storage.It does not require you to install a database server in order to use it. You can carry the database in the same way as you did for access by simply copying the SQL CE binaries to the \bin directory of your application.
Advantages of SQL CE
- No installation/security issues.
- Works with existing Data APIs - ADO.NET,Entity Framework, etc.,
- Suitable for light production scenarios
- No License restrictions. Absolutely Free :-)
- Can be migrated to SQL Server, SQL Express or SQL Azure easily
You can download SQL CE from here.