- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在C中利用Nuget包使用SQLite数据库和LinqtoSQLite.
本来是学习在VB中使用SQLite数据库和Linq to SQLite,结果先学习到了在C#中使用SQLite数据库和Linq to SQLite的方法,写出来与大家共同学习。(不知道算不算不务正业)
1、建立或打开一个C#项目,如果是新建的项目则需要先保存一下,不然无法安装Nuget包。
2、安装Nuget的Linq to SQLite包,打开Nuget包管理器控制台:
?3、在PM提示符后输入安装命令:(电脑要联网)
Install-Package linq2db.SQLite
4、安装成功后:
自动添加了依赖项:System.Data.SQLite、linq2db、ling2db.t4models(创建Linq to SQLite的T4模板)
在解决方案资源管理器中添加了几项:
?5、现在就可以使用SQLite数据库了:
using System.Data.SQLite;
?由于对C#代码不是太熟悉,就不写具体的连接方法了。
6、实现Linq to SQLite:
打开解决方案资源管理器中LinqTODB.Template文件夹中的CopyMe.SQLite.tt.txt文件:
显示如下:
7、模板说明的第一步、第二部都不用管,我们直接来做第三部,在Web/app.config文件中添加数据库连接:
打开解决方案的属性窗口,选择”设置“,添加一个”connectionStrings“的连接字符串,并设置值后保存:
打开Web/app.config文件,修改文件,在connectionString=Data Source=E:\Address.db3 后添加providerName=SQLite:
整个配置文件如下:(其中E:\Address.db3应为你的SQLite数据库文件)
?xml version=1.0 encoding=utf-8 ?
configuration
configSections
/configSections
connectionStrings
add name=WindowsFormsApplication1.Properties.Settings.connectionStrings
connectionString=Data Source=E:\Address.db3 providerName=SQLite /
/connectionStrings
startup
supportedRuntime version=v4.0 sku=.NETFramework,Version=v4.5 /
/startup
/configuration
8、回到CopyMe.SQLite.tt.txt文件窗口,修改两个位置后保存:
第一个位置是数据库文件所在的目录,本例应修改为“E:\”,第二个位置是SQLite数据库的文件名,本例应为“Address.db3。(也可以修改NamespaceName来修改为自己的命名空间)
?9、在解决方案资源管理器窗口,右击CopyMe.SQLite.tt.txt文件重命名:Address.tt,文件名随便起,后面的.txt去掉,得到模板文件:
出现询问是否执行模板文件窗口:
确定后在解决方案资源管理器窗口多出了Linq to SQLite类:
10、现在可以在你的代码中运行Linq To SQLite了:
private void Form1_Load(object sender, EventArgs e)
{
var db=new DataModel.addressDB;
var temp=
from c in db.AddressDistricts
select c;
foreach (var c in temp)
Console.WriteLine(c.DistrictName );
}
?
?
?
?
?
悲剧啊,vb中什么时候能实现啊。
题后话:Nuget的Linq TO SQLite包十分的强大,不仅实现了Linq对SQLite数据库的支持,同时还实现了Linq 对Access、DB2、Firebird、Oracle等11种数据库的支持。
文档评论(0)