The .NET Data Access Layer supports special directories for file based databases.
| Tag | Replacement | Note | 
| 
 %CurrentDirectory%  | 
 AppDomain.CurrentDomain.BaseDirectory  | 
https://msdn.microsoft.com/en-us/library/system.appdomain.basedirectory%28v=vs.110%29.aspx | 
| 
 |DataDirectory|  | 
 AppDomain.CurrentDomain.GetData("DataDirectory")  | 
 http://stackoverflow.com/questions/1409358/ado-net-datadirectory-where-is-this-documented  | 
| 
 %ApplicationData%  | 
 Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)  | 
 http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx  | 
| 
 %CommonApplicationData%  | 
 Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)  | 
|
| 
 %LocalApplicationData%  | 
 Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)  | 
|
| 
 %MyDocuments%  | 
 Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)  | 
|
| 
 %CurrentDriveLetter%  | 
 The current drive letter of the AppDomain.CurrentDomain.BaseDirectory  | 
Example Usage
//Setup the provider
SqLiteProvider provider = new SqLiteProvider();
provider.ConnectionString = "Data Source=%LocalApplicationData%\mydb.db;Version=3;"
//Manually instantiate a session
DataHelper db = new DataHelper(provider);