Knight Data Access Layer has the ability to create databases for SQL Server, SqLite, MS Access, VistaDb, and MySql. For file databases such as MS Access, Sqlite, and VistaDb, simply specify the path of the database. Specify the database name for SQL Server and My SQL. When specifying paths, the directory will automatically be created if it does not exist. See also Connection String Tags
SqLiteProvider provider = new SqLiteProvider();
DataHelper db = new DataHelper(provider);
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestDatabase.db");
db.CreateDatabase(filePath);
Alternatively, the Setup command can be used to create the database if it does not exist and add tables that do not exist and add columns that do not exist.
//Create the database if it does not exist (uses the database specified in the connection string)
//Create tables if they do not exist for a namespace
//Add columns that do not exist for corresponding classes
db.Setup("AcmeInc.Business.Entities");