zoukankan      html  css  js  c++  java
  • 一步一步教你用c# entity framework6 连接 sqlite 实现增删改查

    使用entity framework6 连接 SQLite 数据库

    前言

    很多小型应用程序中,都要使用数据库,而现在比较流行的本地数据库非SQLite莫属。

    第一步:前期准备

    开发环境:vs2015 + sqlite-netFx46-setup-bundle-x86-2015-1.0.106.0.exe

    注:sqlite-netFx46-setup-bundle-x86-2015-1.0.106.0.exe 为vs2015添加设计时组件,详情请见:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki   (见下图说明)

    安装sqlite-netFx46-setup-bundle-x86-2015-1.0.106.0.exe,请勾选“Install the assemblies into the global assembly cache” 和“Install the designer components for Visual Studio 2015” 等两项。如果你的开发环境不是 vs2015,是2012 或2013,请下载相应的版本,vs2017没有设计时组件,预计明年一月份会出来。见官网说明:http://system.data.sqlite.org/index.html/doc/trunk/www/news.wiki 。里面有一条关于设计时组件的说明,http://system.data.sqlite.org/index.html/info/8292431f51 ,这个里面解释了为什么没有为vs2017做设计时组件。

    sqlite-netFx46-setup-bundle-x86-2015-1.0.106.0.exe安装截图:

       

    第二步:搭建项目

    项目名称:SqliteEfTest

    搭建步骤

    1.创建SqliteEfTest的winform程序 (我选择的是4.0的,选4.0以上的应该也没有问题)

    2.在程序中添加一个文件,DataBase.db(由于Sqlite是文件型数据库,所以我直接创建了一个DataBase.text,然后修改后缀名为.db即可)

    打开项目所在目录,直接在根目录处添加DataBase.text,然后修改后缀名为DataBase.db

    3.添加DataBase.txt,然后修改后缀名,文件变为:DataBase.db

    4.点击显示所有文件,将DataBase.db文件包含到项目中

    5.修改DataBase.db文件属性,使其在生成时,能够复制到bin文件夹中

    设置完DataBase.db的相关属性后,F6生成,F5运行后,你会发现,DataBase.db文件被复制到bin文件夹中(之所以要复制到bin文件夹中,和读取本地数据库有关系,同时,和数据库链接字符串也有关系,因为程序安装路径是随意的,你读取数据库的最简单办法就是读取程序当前路径)

    6.安装SQLite相关依赖包:工具-->NuGet管理器-->管理解决方案的NuGet程序包,搜索sqlite,安装

    7.连接数据库创建表,给数据库DataBase.db创建相关表,我使用的Navicat for SQLite来创建表的

    测试连接成功,开始创建一张表

         

     

    9.关闭当前Navicat连接,通过ADO.net,连接当前设计时数据库,自动生成ORM的相关代码吧!

         

       

     

     

    点击“完成”按钮,等待代码自动生成

    10.修改App.config文件的连接字符串:去掉红色标记部分,只留下DataBase.db

    11.下面写增删改查的相关业务逻辑,见打包上传的代码吧!

    运行结果:

    12.比对设计时数据库和运行时数据库的差异:添加运行时数据库(bin文件夹下面的),用Navicat 再对bin文件夹下面的DataBase.db建立连接

    说明:

    设计时表中的数据在F5后,并没有变化,但是运行时里面的 数据发生了改变,这就是修改 App.config连接字符串路径导致的。而设计时里面的数据是我未修改 连接字符串前插入的数据。先修改,再运行,是不会对设计时的表产生影响。

    源码:

    附上源代码:源代码(百度网盘下载)SqliteEfTest.zip

    链接:http://pan.baidu.com/s/1ge4zGQn 密码:ugg2

  • 相关阅读:
    一个标准的类通常要拥有下面四个组成部分
    局部变量和成员变量的区别
    Java学习: 面向对象的使用与注意事项
    学习:内存的申请与释放
    虚拟内存与物理内存
    实现:win32实现EDIT控件读取和保存
    学习:生产者和消费者模式实现线程同步
    学习:线程互斥
    学习:多线程
    实现:服务程序增删
  • 原文地址:https://www.cnblogs.com/eshinex/p/7887106.html
Copyright © 2011-2022 走看看