MySql

To use Iridium with MySQL, you have to install the iridium.db.mysql package.

Using a MySQL database

var connectionString = "Server=MYSERVER;Database=MYDB;UID=USERID;PWD=PWD;SslMode=none";
var dbContext = new StorageContext(new MySqlDataProvider(connectionString));

// ...

dbContext.CreateTable<Customer>();
//
dbContext.DataSet<Customer>().Save(new Customer { Name = "John" });
//
var johnCustomers = from c in dbContext.DataSet<Customer>()
                    where c.Name.StartsWith("John") 
                    select c;
The better way
public class DbContext : MySqlContext
{
     public DbContext() : base("Server=MYSERVER;Database=MYDB;UID=USERID;PWD=PWD;SslMode=none")
     {
     }

     public IDataSet<Customer> Customers {get;set;}
     public IDataSet<Product> Products {get;set;}
}

// ...

var dbContext = new DbContext();
//
dbContext.Customers.Save(new Customer { Name = "John" });
//
var johnCustomers = from c in dbContext.Customers 
                    where c.Name.StartsWith("John") 
                    select c;

Using dependency injection

public class DbContext : MySqlContext
{
     public DbContext(IDataProvider dataProvider) : base(dataProvider)
     {
     }

     public IDataSet<Customer> Customers {get;set;}
     public IDataSet<Product> Products {get;set;}
}

// ...

ServiceLocator.Register(new MysqlDataProvider("Server=MYSERVER;Database=MYDB;UID=USERID;PWD=PWD;SslMode=none"));
//
var dbContext = ServiceLocator.Create<DbContext>();
//
dbContext.Customers.Save(new Customer { Name = "John" });
//
var johnCustomers = from c in dbContext.Customers 
                    where c.Name.StartsWith("John") 
                    select c;