Iridium

Iridium is a lightweight and portable .NET relational database mapping library optimized for mobile applications written in Xamarin.
YOUR APPS DESERVE AN AWESOME DATABASE LAYER
LIGHTWEIGHT  |  PORTABLE  |  POWERFUL
NuGet Stable Release
cross-platform
works on iOS, Android, Windows UWP, Windows, Linux (Mono)
lightweight
the Iridium libraries are just 200 kB in size. There's no reason not to use it in your projects
easy to use
adding database support to your app just takes a few lines of code
linq powered
data can be queried using LINQ, translating expressions to native SQL for best performance
multi database
supports Sqlite, SQL Server, PostgreSql, MySql and in-memory databases
powerful
does everything you would expect from a ORM, including relations, transactions, lazy-loading
Either connect to an existing database schema or simply create tables on the fly based on your entity classes
db.CreateTable<Customer>();

var customer = new Customer { Name = "John Doe" };

db.Insert(customer);
Read objects from the database by primary key or any LINQ expression
// Read a new object:
var customer = dbContext.Read<Customer>(customerId);

// or
var customer = dbContext.Read<Customer>(c => c.Name = "John Doe");
Use native LINQ queries across relations and let Iridium figure out all the SQL JOIN and WHERE expressions
var orders = from o in db.Orders 
             where o.OrderDate < DateTime.Today 
             select o

var orders = from o in db.Orders 
             where o.OrderItems.Any(item => item.ProductID == "A") 
             select o;
                            
This site was built with the Iridium Web Framework and SASS and uses Iridium DB to connect to a SQL Server database (Amazon RDS).