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。
关于我使用的一些小结就到此为止,本人表达能力不好,技术不到位,写此文只为以后回顾学习,不喜勿喷。
sqlite的ef使用小结的更多相关文章
- 使用System.Data.SQLite及其EF模块操作SQLite数据库(文件)
SQLite for .NET (System.Data.SQLite) introduction An ADO.NET provider for SQLite including EF and Li ...
- SQLite手工注入方法小结
SQLite 官网下载:www.sqlite.org/download.html sqlite管理工具:http://www.yunqa.de/delphi/products/sqlitespy/in ...
- EF to Sqlite
测试下来,使用到下面的版本: EF6.1 System.Data.SQLite.EF6.1.0.93.0 System.Data.SQLite.Core.1.0.93.0 注意事项: 设置Autoi ...
- ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 EF SQLite 支持 上一章节我有提 ...
- Sqlite && EF Code FIRST 终极解决方案 2019.5.17
Sqlite && EF Code FIRST 终极解决方案 2019.5.17 包括根据模型自动生成数据库,初始化数据,模型改变时的自动数据迁移等 2019.12.25 更新 支持E ...
- Sqlite 常用操作及使用EF连接Sqlite
Sqlite是一个很轻,很好用的数据库.兼容性很强,由于是一款本地文件数据库,不需要安装任何数据库服务,只需引入第三方开发包就可以.Sqlite的处理速度比MySql和PostgreSQL更快,性能很 ...
- ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First
ASP.NET Core 开发-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作数据库. Entity Frame ...
- UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库
在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...
- C# Android 开发中使用 Sqlite.NET ORM
开发环境:VS2015 Xamarin Sqlite.NET ORM 不就相当于 Entiry Framework For Xamarin 吗? 相当于用 C# 开发安卓程序访问 Sqlite 可以使 ...
随机推荐
- m.Tomcat使用openssl走APR通道配置单向和双向认证
引用自: http://blog.csdn.net/gtuu0123/article/details/5827800(Tomcat的SSL单向认证) http://blog.csdn.net/gtu ...
- HTML 的 meta 标签
我们先来看看维基百科上对 meta element 的定义: Meta elements are tags used in HTML and XHTML documents to provide st ...
- merge into在oracle10g和oracle 11g中的使用差别一
oracle10g上的代码 MERGE INTO TCGGYSGHCP CP USING (SELECT * FROM (SELECT QD.LIFNR, ...
- CIDR风格
CIDR地址中包含标准的32位IP地址和有关网络前缀位数的信息. eg: 地址:192.168.10.0/24,其中/24标示前面地址中的前24位代表网络部分,其余代表主机部分. 11000000 1 ...
- jquery trigger 触发事件小计 -- 关于a标签
jquery -- trigger触发执行事件方法虽然好用,偶尔也会出些小问题. 在最近得一个项目中需要触发a标签的点击事件时,我就遇到了点小问题.我很想当然的写层这样:$("a" ...
- 总结oninput、onchange与onpropertychange事件的用法和区别,onchange
前端页面开发的很多情况下都需要实时监听文本框输入,比如腾讯微博编写140字的微博时输入框hu9i动态显示还可以输入的字数.过去一般都使用onchange/onkeyup/onkeypress/onke ...
- [转]IE8兼容Jquery.validate.js兼容问题
只需在jquery.validate.js 文件中在446行附近找到return $([]).add(this.currentForm.elements).filter(":input&qu ...
- 学习PYTHON之路, DAY 8 - PYTHON 基础 8 (面向对象进阶)
类的成员 类的成员可以分为三大类:字段.方法和属性 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段.而其他的成员,则都是保存在类中,即:无论对象的 ...
- django orm总结[转载]
django orm总结[转载] 转载地址: http://www.cnblogs.com/linjiqin/archive/2014/07/01/3817954.html 目录1.1.1 生成查询1 ...
- NoSQL生态系统——事务机制,行锁,LSM,缓存多次写操作,RWN
13.2.4 事务机制 NoSQL系统通常注重性能和扩展性,而非事务机制. 传统的SQL数据库的事务通常都是支持ACID的强事务机制.要保证数据的一致性,通常多个事务是不可能交叉执行的,这样就导致了可 ...