WPF EF SQLite
通过 Nuget 下载对应的包


下载完之后带上依赖一共有这么几个:
- EntityFramework
- System.Data.SQLite
- System.Data.SQLite.Core
- System.Data.SQLite.EF6
- System.Data.SQLite.Linq
下载SQLite工具,点检下载
连接SQLite数据库:
SQLiteConnection _connection;
/// <summary>
/// SQLite连接
/// </summary>
SQLiteConnection connection
{
get
{
if (_connection == null)
{
_connection = new SQLiteConnection(string.Format("Data Source={0}/DB/DB.db3;Version=3;", AppDomain.CurrentDomain.SetupInformation.ApplicationBase));
_connection.Open();
}
return _connection;
}
}
/// <summary>
/// SQLite增删改
/// </summary>
/// <param name="sql">要执行的sql语句</param>
/// <param name="parameters">所需参数</param>
/// <returns>所受影响的行数</returns>
int ExecuteNonQuery(string sql, SQLiteParameter[] parameters)
{
int affectedRows = 0;
DbTransaction transaction = connection.BeginTransaction();
SQLiteCommand command = new SQLiteCommand(connection);
command.CommandText = sql;
if (parameters != null)
{
command.Parameters.AddRange(parameters);
}
affectedRows = command.ExecuteNonQuery();
transaction.Commit();
return affectedRows;
}
/// <summary>
/// SQLite查询
/// </summary>
/// <param name="sql">要执行的sql语句</param>
/// <param name="parameters">所需参数</param>
/// <returns>结果DataTable</returns>
DataTable ExecuteDataTable(string sql, SQLiteParameter[] parameters)
{
DataTable data = new DataTable();
SQLiteCommand command = new SQLiteCommand(sql, connection);
if (parameters != null)
{
command.Parameters.AddRange(parameters);
}
SQLiteDataAdapter adapter = new SQLiteDataAdapter(command);
adapter.Fill(data);
return data;
}
/// <summary>
/// 查询数据库表信息
/// </summary>
/// <returns>数据库表信息DataTable</returns>
DataTable GetSchema()
{
DataTable data = new DataTable();
data = connection.GetSchema("TABLES");
return data;
}
调用,示例:
SQLiteParameter[] parameters = new SQLiteParameter[] { };
ExecuteDataTable("select * from table", parameters);

浙公网安备 33010602011771号