I need an embedded database for one of our .net applications.
This database should support sql (Unlike Berkley).
Can anyone suggest any options.
SQL Server is the most popular database when talking about ASP.NET Core since it's what Microsoft is also selling and also the first one that Entity Framework Core is developed for. It's not free mind you. You can now use SQL Server in Linux as Microsoft has developed a Linux version that you can use.
NET framework provides three different types of data providers: Sql, OleDb and ODBC. Microsoft is also working on providing a data provider for Oracle database and other Database Management System (DBMS) suppliers may produce their own data providers.
I would recommend using sqlite, it's a very fast file-only, embedded-able, feature-rich, database. I have a lightweight ORM with C# bindings that abstracts and simplifies access to it. Here is a live web-service demo using sqlite.
The major options I can think of are:
I just wanted to chime in late here with more information on VistaDB.
Our SQL Syntax is very close with SQL Server syntax, and we include TSQL and CLR Stored Procs.
Runs in process with your application, and you only have to deploy 1 assembly for both 32 and 64 bit (100% managed code). You can't do this with SQL CE since you have different unmanaged assemblies that have to be deployed.
You can embed VistaDB with your app and even ILMERGE it, change the database name, etc to fully hide the engine from your users (some people are real big on this).
And yes it can also run on Mono since it is 100% managed code. There are still a few issues (including non-Intel Mono machines).
Full disclosure - I am the owner of the company
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With