引入System.Data.SQLite
从SQLite官网下载获取System.Data.SQLite库并安装。
新建C# Console Application项目,添加对System.Data.SQLite.dll的引用,并将SQLite.Interop.dll添加为“如果较新则复制”的链接文件。
详细操作请参考《SQLite简单使用(C# ADO.net)》相关部分。
引入DbLinq
从DbLinq官网下载二进制发行包,并解压到你常用的库目录。
将SQLite.Interop.dll和System.Data.SQLite.dll拷贝到DbLinq目录。
Demo
在上面创建的C#项目目录中添加SQLite数据库Content.db3:
CREATE TABLE files(
name text primary key not null,
data blob not null
);
在该目录下创建make.bat脚本,并将DbMetal.exe改为你本地的路径:
@echo off
set tool=E:\3Party\DbLinq-0.20.1\DbMetal.exe
set conn="/conn=Data Source=Content.db3"
%tool% --provider=Sqlite %conn% --database=main --namespace=Demo --case=leave --generate-timestamps=false --code=Content.db3.cs --language=C#
pause
运行make.bat脚本,产生Content.db3.cs文件。
将Content.db3.cs引入项目,并添加对DbLinq.dll和DbLinq.Sqlite.dll的引用:
添加以下示例代码:
class Program
{
static void Test()
{
using (var conn = new System.Data.SQLite.SQLiteConnection(
"DbLinqProvider=Sqlite;Data Source=../../Content.db3"))
{
var vendor = new DbLinq.Sqlite.SqliteVendor();
var main = new Demo.main(conn, vendor); // 此操作耗时较长
Console.WriteLine(main.files.Count());
}
}
static void Main(string[] args)
{
Stopwatch watch = new Stopwatch();
watch.Start();
Test();
watch.Stop();
Console.WriteLine(watch.Elapsed);
}
}
如果一切顺利,可正常编译运行。
new Demo.main(conn, vendor)会占用较长时间,原因是大量的反射操作在此执行。
[注:本文对应的DbLinq版本为0.20.1,对应的System.Data.SQLite版本为1.0.73.0 (3.7.6.3)]
参考:
DbMetal is(n’t) so hard:http://olgatherer.wordpress.com/2010/08/19/dbmetal-isnt-hard/
推荐阅读:
评论