博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linq to SQlite的使用
阅读量:5141 次
发布时间:2019-06-13

本文共 1718 字,大约阅读时间需要 5 分钟。

数据库是软件不可或缺的组成部分,传统数据库越来越大,对于中小型应用有点浪费;,是一款轻型的数据库,支持ACID事务,无需安装或配置,源代码完全公开,速度也非常快,非常适合中小型应用;Linq to SQL是微软出的,生成和管理关系型数据库的非常易用的架构;把Linq用于SQlite数据库将会给SQlite数据库的编程带来很大方便。

参考阅读:;

             

首先,下载所需程序: 和 ,其中前一个是SQlite的ADO.Net Provider和LINQ Provider,是Linq to SQlite产生数据上下文的软件。

创建SQlite的数据库,添加表等,SQlite有很多优秀的GUI管理软件,这里我使用的是SQLite2009 Pro;软件界面如下:

这里创建两个表,Application和User表,每个表只有两个字段,用于显示Linq to SQlite的用法。这个数据库位于项目文件夹的debug文件夹。用于程序运行连接。

安装System.Data.SQLite;解压DbLinq2007,我把它放到D盘的DbLinq文件夹下;到System.Data.SQLite安装文件夹下,拷System.Data.SQLite.dll文件到DbLinq2007的文件夹下,运行时需要用到它;

然后就是产生DataContext了;在控制台下运行命令:DbMetal.exe /database:Data /namespace=LinqToSQLite /code=Test.cs /provider=Sqlite /conn="data source=D:\Users.db3"

红色标记的分别是:DataContext类名,命名空间名,文件名,数据库路径。

然后建立项目,添加已有文件:刚才产生的文件,添加引用(DbLinq.dll、DbLinq.Sqlite.dll:位于DbLinq2007中,System.Data.SQLite.dll、 System.Data.SQLite.Linq.dll:位于System.Data.SQLite安装文件夹下,System.Data.Linq);System.Data.Linq位于.net中,如下图:

使用DataContext对象(Linq的用法)连接数据库时出现问题:原因是使用时为了省事,直接把连接字符串写进构造函数如:DataContext(@"data source=your_sqlite_db_path");,这样连接就会有问题,长时间无反应或是抛出异常,解决办法是显式创建SQliteConnection,如:DataContext(new SQLiteConnection(@"data source=your_sqlite_db_path"));我在程序中就是这么使用的。

然后就可以正常使用Linq to SQlite了。

var query = from u in tc.User                        where u.ID == textBox2.Text                        select u;            foreach (User u in query)            {                textBox1.Text += "用户名:" + u.ID + "  " + "密码:" + u.Password + "\r\n";            }

另外,可以用dotConnect for SQLite作为SQlite的ADO.NET Provider,它支持Linq to SQlite,如果用这个就没有这么麻烦了,不过它是商业软件,提供一个免费版可供使用,有关方法详见:,介绍的过程很详细。

有什么不足之处,欢迎拍砖讨论,谢啦

附件:

作者:

出处:
本文版权归作者和博客园共有,欢迎转载,转载保留此段文字并且注明出处;谢谢。

转载于:https://www.cnblogs.com/Engin/archive/2011/08/01/2123947.html

你可能感兴趣的文章
day29 jq
查看>>
TC 配置插件
查看>>
关于异步reset
查看>>
索引优先队列的工作原理与简易实现
查看>>
SPOJ - DISUBSTR Distinct Substrings (后缀数组)
查看>>
并发编程简介
查看>>
第五次作业(最大公约数,最小公倍数)
查看>>
C++两水杯量出所需水量的小算法
查看>>
[面试真题] LeetCode:Same Tree
查看>>
iOS:quartz2D绘图
查看>>
测试步骤
查看>>
perl6 Socket
查看>>
APP 内发送邮件
查看>>
进度条
查看>>
使用命令修改ip地址
查看>>
mac平台安装类似yum的工具
查看>>
hdu3437 划分树 区间内小于第K大的值得和
查看>>
P1113 杂务
查看>>
20155320《网络对抗》MSF基础应用
查看>>
第七章 软件测试 课后习题
查看>>