TommyBiteMe

sqlite的ef使用小结

最近有一个小项目,老师推荐我用下sqlite这种轻型的数据库来进行数据的存储。轻型数据库具有其独特之处:方便,不用安装特定的软件就能够实用,关于sqlite的优点我不赘述,网上还是有好多资料的。

但我搜索了下,网上关于sqlite的介绍很多,使用方法的博客也有不少,但很都看了都感觉云里雾里。为此我自己摸索了好久才小有收获,下面就分享一下我接触sqlite后的一些感悟和发现吧。

首先,我和学长们找了关于sqlite的操作软件,我们用了sqlitestudio,但我们发现了一个奇怪的问题,这个软件导出的数据库只有4中格式:html,plain,sql和xml。但是一直不能用,后来发现把他的后缀改成.db后就可以在项目中使用了。发现了这个之后问题就来了。就是如何建表(之前是一直用PD建好PD图之后将代码复制到数据库执行创建的)。那么我们能不能也用之前的方法现在PD中画好PD图然后让他产生代码后去sqlitestudio中执行呢?答案是肯定的。我在网上找了好多资料,整理后发现只要下载驱动就可以实现以下是某大牛的blog中介绍的方法 http://www.cnblogs.com/winsonet/archive/2010/06/22/1762399.html

我下的是Sqliteodbc.exe。好了,数据库建好了,现在该将数据库放到项目中去了用了,那么sqlite该怎么用呢,首先,如果你是直接写sqlite语句的方法的话很简单,其方法类似于sqlsever只要在使用前引用System.Data.Sqlite.dll就行了(注意:这个dll在不是.net自带的,要去网上下,都是免费的,还有一点值得注意就是sqlite的版本问题,学长的用的sqlite不支持.net4.0,我们用.net3.5就可以用,这个问题我们找了好久一直出现不支持互操作,不知道有没有好的解决方法,还有就是得在配置文件加一句话);如果问题到这里就算结束了那也没什么好说了,但是,我们接下来的疑惑就是我们能不能用ef或者linqtosqlite。经过搜索资料发现其支持ef和linq。用linq好像要下个动态链接库System.Data.Sqlite.dll,我在做完项目后试过但貌似不行一直提示我说找不到目标什么的,然后去网上找资料,没找到我想要的,本人技术不够不能解决这个问题。那么接下来让我们继续之前的话题就是如何在VS中用建立实体模型呢,在网上找了下资料,发现网上给的都是一个成品的贴图,根本就没有讲中间步骤,当你点创建实体模型的时候你可能会发现根本就没有他讲的sqlite的那个选项,对此我又是一顿狂搜百度http://www.cnblogs.com/icepeach/archive/2013/02/06/2901438.html 一下是我发现的另一种方法,还没测试。我自己是去网上下载了一个叫做devart.dotConnect_for_SQLite_v1.00-crk.rar的文件安装后点数据源后面的更改按钮就有了这个选项(倒数第二个选

项)

有了这些了之后,当然项目还运行不起来,你得安装一个文件,当然网上有关于sqlite的ef配置,我试过,没成功,就是上面提到的找不到linq的那个dll文件的问题之后安装了sqlite-netFx40-setup-bundle-x86-2010-1.0.89.0这是官网下的注意:即使你得系统是64位也请安装x86,除非你的VS编译环境是x64。

关于我使用的一些小结就到此为止,本人表达能力不好,技术不到位,写此文只为以后回顾学习,不喜勿喷。

posted on 2014-01-07 11:29  TommyBiteMe  阅读(1287)  评论(0编辑  收藏  举报

导航