以EntifyFramework DBFirst方式访问SQLite数据库
前面一直在找EF Code First方式来访问SQLite数据库,后面得出的结论是SQLite不支持 Code First,
虽然有非官方的库SQLite.CodeFirst可以使用,但一直没搞成功,参照项目说明也操作过,但还是没成功。
SQLite.CodeFirst项目链接https://github.com/msallin/SQLiteCodeFirst
如果有操作成功成功的小伙伴,可以告诉我一声。
下面说一下如何以DBFirst方式访问SQLite数据库
1、下载ADO.Net实体数据模型的SQLite组件设计器
这里我选的是Net45的版本,可以根据你的VisualStudio版本来下载对应 的版本。
下载地址:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
安装包地址:http://system.data.sqlite.org/downloads/1.0.109.0/sqlite-netFx45-setup-bundle-x86-2012-1.0.109.0.exe
这个安装包包含了32位的System.Data.SQLite 库以及组件 设计器
这里需要注意的是:64位的安装 包是没有组件设计器的,一定要下载32位的版本。不用担心你是64位应用程序,因为后面我们会用Nuget下载64位的System.Data.SQLite库

安装 的时候需要钩选"Install the designer components for Visual Studio 2015"

2、导入SQLite相关库

使用Nuget下载System.Data.SQLite,只需下载这一个就行了。因为这里包含了我们需要的所有库。
3、新建一个实体数据模型

选择“来自数据库的EF设计器”

选择System.Data.SQLite Database File。前面装的各种版本的64位安装包,结果这一项一直没有出现。


选择数据库文件,测试连接成功

钩选要包含的表
4、正常使用
现在就可以正常使用了,我的测试数据库里只有一张Company表
测试代码如下:
static void Main(string[] args)
{
using (testEntities1 tt = new testEntities1())
{
foreach (COMPANY item in tt.COMPANY)
{
Console.WriteLine(item.ID + "\t" + item.NAME + "\t" + item.AGE + "\t" + item.ADDRESS + "\t" + item.SALARY);
}
}
}
我第一次运行的时候,报了一个错

解决方法是在App.Config的entityFramework/providers节点下添加一个provider

<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
这样就可以正常运行了
运行结果 :

示例代码:
https://files.cnblogs.com/files/zhaotianff/Sqlite_DBFirstDemo.zip
以EntifyFramework DBFirst方式访问SQLite数据库的更多相关文章
- 【Android】13.4 使用SQLite.NET.Async-PCL访问SQLite数据库
分类:C#.Android.VS2015: 创建日期:2016-02-27 一.简介 这一节演示如何利用以异步方式(async.await)访问SQLite数据库. 二.示例4运行截图 下面左图为初始 ...
- 【Android】13.2 使用自定义的CursorAdapter访问SQLite数据库
分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 SQliteDemo1的例子演示了SimpleCursorAdapter的用法,本节我们将使用用途更广的自定义的游 ...
- 【Android】13.1 用Android自带的API访问SQLite数据库
分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 这一节我们先来看看如何直接用Android自带的API创建和访问SQLite数据库. 1.创建SQLite数据库 ...
- 【Android】13.0 第13章 创建和访问SQLite数据库—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 Android 内置了三种数据存取方式:SQLite数据库.文件.SharedPreferences. 这一章我们 ...
- Qt5 开发 iOS 应用之访问 SQLite 数据库
开发环境: macOS 10.12.1 Xcode 8.1 Qt 5.8 iPhone 6S+iOS 10.1.1 源代码: 我在 Qt 程序里指定了数据库的名称来创建数据库,在 Win10.An ...
- Android数据的四种存储方式之SQLite数据库
Test.java: /** * 本例解决的问题: * 核心问题:通过SQLiteOpenHelper类创建数据库对象 * 通过数据库对象对数据库的数据的操作 * 1.sql语句方式操作SQLite数 ...
- 并发访问sqlite数据库出现databse is locked的错误的一个解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101 在并发访问sqlite数据库会出现这样一个错误:databseis locked,这是sqlite数据库对并发支持不太 ...
- 【C#】使用EF访问Sqlite数据库
原文:[C#]使用EF访问Sqlite数据库 1. 先上Nuget下载对应的包 如图,搜索System.Data.SQLite下载安装即可,下载完之后带上依赖一共有这么几个: EntityFramew ...
- 【Android】13.3 使用SQLite.NET-PCL访问SQLite数据库
分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 本章开头已经说过了,SQLite.NET-PCL用起来很爽,这一节咱们看看怎样使用吧. 二.示例3运行截图 下面左 ...
随机推荐
- sass - &的作用
6.8. & in SassScript 就像在选择器中使用时一样,&在SassScript中引用当前父选择器.它是一个逗号分隔的列表和空格分隔的列表.例如: .foo.bar .ba ...
- android strings: %s、%1$s、%d、%1$d占位符
实际开发的过程中我们有时候会遇到,一个TextView里面会遇到会有一个一大串固定的文字,而里面的数字或者个别字需要根据后台的接口而展示的.这个时候我们最简单的方法就是在string.xml文件里 使 ...
- 【转】分享一款颜色神器ColorSchemer Studio
原文:https://www.cnblogs.com/xyfll7/p/7569078.html ColorSchemer Studio是一款专业配色软件,网页设计或平面设计师必备工具,和ColorP ...
- Docs-.NET-C#-指南-语言参考-关键字-值类型-:浮点数值类型
ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型-:浮点数值类型 1.返回顶部 1. 浮点数值类型(C# 引用) 2019/10/22 “浮点类型”是“简单类型”的子集,可以使 ...
- linux配置docker报错:ImportError: No module named yum
如题,安装docker后配置仓库报错: [root@centos ~]# yum-config-manager --add-repo https://download.docker.com/linux ...
- 全面系统Python3入门+进阶-1-3 我为什么喜欢Python
结束
- 123457123456#3#----com.ppGame.konglongPuzzle78--前拼后广--konglongPT游戏_pp
com.ppGame.konglongPuzzle78--前拼后广--konglongPT游戏_pp
- iOS popToViewController具体用法
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIn ...
- Spring MVC初始化
整个Spring MVC的初始化,配置了DispatcherServlet和ContextLoaderListener,那么它们是如何初始化Spring IoC容器上下文和映射请求上下文的呢?所以 ...
- 简单明了的注解,读取CLASS中的注解
/***********注解声明***************/ /** * 水果名称注解 * @author peida * */ @Target(ElementType.FIELD) @Reten ...