热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VS2013下使用创建sqlite的ADO.NET实体数据模型

前言特别鸣谢:VS2012启用SQLite的DataProvider以及using-sqlite-with-entity-framework-6第二篇文章的链接是在stacko

前言

特别鸣谢:
VS2012启用SQLite的Data Provider
以及
using-sqlite-with-entity-framework-6

第二篇文章的链接是在stackoverflow找到的, sqlite-connection-not-appearing-in-entity-data-model-wizard

但是这个问题跟我的没有半毛钱关系我只是各种搜索答案而已。

解决方案

  1. 安装DDEX(aka Data Designer Extensibility)
  2. NuGet获取EF6实体最新版本以及获取System.Data.SQLite.EF6
  3. 工程修改为x86平台运行
  4. config文件添加Data Provider说明
  5. 正常添加ADO.NET的SQLite实体数据模型

详细

环境
Win7 SP1 64bit
VS2013

详细解决方案

  1. 安装DDEX(aka Data Designer Extensibility)
    System.Data.SQLite is an ADO.NET provider for SQLite
    NOTE: 文章发布时64-bit版本也已经有designer,[del]但是未经验证,所以请务必安装32-bit的版本。[/del]
    2016.12.15 更新:已验证,4.5.1版本的DDEX,64位下无法成功使用designer,只有32位可以(但是32位兼容64位)。所以大家请使用32位的版本。
    下载的程序名字在当前版本应该是sqlite-netFx451-setup-bundle-x86-2013-1.0.101.0.exe
    总之,下载的应该是:Setups for 32-bit Windows (.NET Framework 4.5.1)对应的程序。

安装的时候选custom就好,具体打钩内容如下,主要是必须勾选Designer:
主要是需要勾选Designer
(有人提及到了要允许GAC,安装过程中我没有遇到,如果没有正确添加,可以手动到安装目录下的GAC里面去添加,具体添加方法请自行搜索)

安装完毕之后,工具-连接到数据库中应该可以添加SQLite数据库。

  1. NuGet获取EF6实体最新版本以及System.Data.SQLite.EF6
    工程-管理NuGet程序-使用EF6最新版本
    工程-管理NuGet程序-搜索sqlite,找到System.Data.SQLite.EF6,安装。(应该仅依赖EF6)

  2. 工程设置为解决方案平台为x86。
    x86平台
    我只在x86平台下成功(尽管我的开发环境是64-bit),并且初步测试与DDEX的版本没有任何关系。

  3. config文件添加Data Provider说明
    修改config文件,应该如下图所示:
    SQLite Data Provider

"SQLite Data Provider"  invariant="System.Data.SQLite"  description=".NET Framework Data Provider for SQLite"  type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />

然后build / rebuild 工程。

  1. 正常添加ADO.NET的SQLite实体数据模型
    工程-添加-新建项-数据-ADO.NET实体数据模型-从数据库-可以选择SQLite数据库。
    可以正常添加

注意:LinQ等支持暂时未测试。

问题表现

  1. 数据连接中无法添加sqlite数据库,
    (anyway我已经不记得我当时是安装了什么东西导致可以添加连接了)
  2. ADO.NET实体类无法正确添加SQLite实体
    就是在添加ADO.NET之后,数据引用一直没有SQLite的数据库。
    就是这样

P.S.

附上查看sqlite数据库的好用工具:
sqlitebrowser


推荐阅读
  • Windows 系统中 Flutter 与 IntelliJ IDEA 的环境配置指南
    本指南详细介绍了如何在 Windows 操作系统上设置 Flutter 开发环境,并集成至 IntelliJ IDEA 中,适合初学者及专业人士参考。 ... [详细]
  • Hibernate入门指南:单表数据库操作详解
    本文介绍了Hibernate作为全面的ORM框架的基础知识,并详细讲解了在MyEclipse环境中配置Hibernate以及进行基本的数据库单表操作的方法,包括增删改查等常见操作。 ... [详细]
  • mybatis相关面试题 ... [详细]
  • 本文介绍了在SecureCRT中遇到的防火墙名称未正确显示的问题,并提供了详细的解决方案,包括如何通过修改配置文件来解决这一问题。 ... [详细]
  • 本文详细探讨了在Python开发中遇到的ImportError: 无法找到名为Crypto.Cipher的模块的问题,并提供了多种解决方案,包括环境配置、库安装和代码调整等方法。 ... [详细]
  • JobScheduler5.0源码分析
    0.JobScheduler执行代码mJobScheduler(JobScheduler)getSystemService(Context.JOB_SCHEDULER_SERVICE); ... [详细]
  • 本文探讨了在 JavaFX 应用程序中使用 TableView 组件时遇到的滚动条问题,特别是当表格数据变化时,水平滚动条无法自动复位至初始位置的情况。 ... [详细]
  • Python与MySQL交互指南:从基础到进阶
    本文深入探讨了Python与MySQL数据库的集成方法,包括数据库连接、数据表创建、索引管理、数据操作以及如何防止SQL注入等关键内容。适合初学者及希望提升数据库操作技能的开发者。 ... [详细]
  • 初学者必备:iBATIS入门指南与常见问题解决
    本文旨在为iBATIS初学者提供一份详细的入门指南,并针对官方文档中示例不足的问题提出解决方案。适合零基础学习者。 ... [详细]
  • KNN算法在海伦约会预测中的应用
    本文介绍如何使用KNN算法进行海伦约会的预测。我们将从数据导入、数据预处理、数据可视化到最终的模型训练和测试进行全面解析。 ... [详细]
  • 本文通过对OkHttp源码的详细解读,旨在帮助读者理解其核心执行流程,特别是同步与异步请求的处理方式。文中不仅涵盖了基本的使用示例,还深入探讨了OkHttp的核心功能——拦截器链的工作原理。 ... [详细]
  • 在Ubuntu上通过Wine安装Photoshop CS6的详细指南
    针对专业设计师和图像处理人员,寻找能够完全替代Adobe Photoshop的开源软件往往不尽如人意。本文提供了一种解决方案,即通过Wine在Linux系统上安装Photoshop CS6,以实现更稳定的操作体验。 ... [详细]
  • 树莓派(简称RPI)通常需要配合电脑使用,但对于某些用户或特定场合,手机作为主要携带设备,能够直接用于配置和管理RPI,这具有重要的实用价值。 ... [详细]
  • 本文提供了详细的指导,帮助开发者了解如何使用PHP插件进行网站内容的翻译,特别是针对WordPress插件和主题的汉化及多语言支持。 ... [详细]
  • django项目中使用手机号登录
    本文使用聚合数据的短信接口,需要先获取到申请接口的appkey和模板id项目目录下创建ubtils文件夹,定义返回随机验证码和调取短信接口的函数function.py文件se ... [详细]
author-avatar
尼姆了_960
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有