登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

秒大刀 博客

好好学习 天天向上

 
 
 

日志

 
 
 
 

SQLite简单使用(C# Linq)  

2011-06-18 14:49:11|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

引入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的引用: 

SQLite简单使用(C Linq) - 秒大刀 - 秒大刀的城堡

    添加以下示例代码:

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/


推荐阅读:

SQLite简单使用(C# ADO.net)

SQLite简单使用(C++)

  评论这张
 
阅读(10894)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018