最近有一个小项目,老师推荐我用下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使用小结的更多相关文章

  1. 使用System.Data.SQLite及其EF模块操作SQLite数据库(文件)

    SQLite for .NET (System.Data.SQLite) introduction An ADO.NET provider for SQLite including EF and Li ...

  2. SQLite手工注入方法小结

    SQLite 官网下载:www.sqlite.org/download.html sqlite管理工具:http://www.yunqa.de/delphi/products/sqlitespy/in ...

  3. EF to Sqlite

    测试下来,使用到下面的版本: EF6.1 System.Data.SQLite.EF6.1.0.93.0 System.Data.SQLite.Core.1.0.93.0  注意事项: 设置Autoi ...

  4. ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 EF SQLite 支持 上一章节我有提 ...

  5. Sqlite && EF Code FIRST 终极解决方案 2019.5.17

    Sqlite && EF Code FIRST 终极解决方案 2019.5.17 包括根据模型自动生成数据库,初始化数据,模型改变时的自动数据迁移等 2019.12.25 更新 支持E ...

  6. Sqlite 常用操作及使用EF连接Sqlite

    Sqlite是一个很轻,很好用的数据库.兼容性很强,由于是一款本地文件数据库,不需要安装任何数据库服务,只需引入第三方开发包就可以.Sqlite的处理速度比MySql和PostgreSQL更快,性能很 ...

  7. 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 ...

  8. UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库

    在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...

  9. C# Android 开发中使用 Sqlite.NET ORM

    开发环境:VS2015 Xamarin Sqlite.NET ORM 不就相当于 Entiry Framework For Xamarin 吗? 相当于用 C# 开发安卓程序访问 Sqlite 可以使 ...

随机推荐

  1. CDN加速原理

    原文链接:http://www.72e.net/cdnspeed/cdnyuanli.aspx 首先,让我们来看一下传统的Internet网络的基本结构和数据传输情况,如下图所示. Internet  ...

  2. Gevent中的同步与异步详解

    同步,异步概念 1.同步就是发生调用时,一定等待结果返回,整个调用才结束: 2.异步就是发生调用后,立即返回,不等待结果返回.被调用者通过状态.通知来通知调用者,或通过回调函数处理这个调用. 查询 1 ...

  3. Surface与SurfaceView、SurfaceHolder

    什么是Surface? android API的解释是:Handle onto a raw buffer that is being managed by the screen compositor ...

  4. Socket.io和Redis写Realtime App 之express初试

    第一步:用npm下载express前端框架 注意事项:首先要确保已经安装了node.js和 npm 然后在项目中创建一个package.json文件,不能完全为空不写,至少要有两个大括号,不然怎么证明 ...

  5. Unity3d调用iOS陀螺仪

    How to write gyroscope controller with Unity3d http://blog.heyworks.com/how-to-write-gyroscope-contr ...

  6. A flash of Joy

    import re from datetime import timedelta from tornado import httpclient, gen, ioloop, queues peoples ...

  7. 常见HTML的!DOCTYPE声明

    HTML或者XHTML版本 !DOCTYPE声明 HTML 2.0 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> HTM ...

  8. SWM格式稀疏权重矩阵转换为方阵形式全过程分享

    在进行空间统计实验过程中,经常涉及到空间权重矩阵的处理,有时候需要将ArcGIS生成的swm格式的权重矩阵转换为形如“0 1”的方阵格式.这里将我的办法整理出来. 1.用如下工具箱生成swm格式的权重 ...

  9. nginx 配置ci ,tp

    #local ciserver {    listen       80;    server_name  ci.local;        root    E:/test/CodeIgniter/; ...

  10. LINUX RHCE 笔记

    磁盘类: 新增一个SCSI磁盘,LINUX无法看到(不重启)echo "- - -" >  /sys/class/scsi_host/host2/scan就看到了. part ...