如何让 Entity Framework 6 + Sqlite + 代码优先工作?

2024-06-19

我正在尝试创建一个简单的项目来探索 Entity Framework 6 Code First 与 sqlite db 提供程序如何工作,但是当我完成我的应用程序时,我收到错误:

“实体框架提供程序类型 'System.Data.SQLite.SQLiteProviderServices,System.Data.SQLite.Linq, 版本=1.0.91.0,文化=中性,PublicKeyToken=db937bc2d44ff139' 在 ADO.NET 提供程序的应用程序配置文件中注册 无法加载具有不变名称“System.Data.SQLite”的文件。制作 确保使用了程序集限定名称并且程序集是 可供正在运行的应用程序使用。看http://go.microsoft.com/fwlink/?LinkId=260882 http://go.microsoft.com/fwlink/?LinkId=260882了解更多信息。”

我认为这个错误与app.config文件有关。 有人有 Entity Framework 6 + Sqlite 1.0.91 的工作 app.config 文件吗?

这些是我的配置文件内容:

    <?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  </configSections>

  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
      <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.SQLiteProviderServices, System.Data.SQLite.Linq, Version=1.0.91.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
    </providers>
  </entityFramework>
  <connectionStrings>
    <add name="BloggingContext" connectionString="Data Source=.\animals.sqlite" providerName="System.Data.SQLite"/>
  </connectionStrings>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description="Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
  </system.data>


<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

首先从提供者部分删除以下行:

<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.SQLiteProviderServices, System.Data.SQLite.Linq, Version=1.0.91.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>

并添加以下行来代替:

<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.SQLiteProviderServices, System.Data.SQLite.Linq" />

欲了解更多信息:使用 Entity Framework 6 和 SQLite 的问题 https://stackoverflow.com/questions/20460357/problems-using-entity-framework-6-and-sqlite

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 Entity Framework 6 + Sqlite + 代码优先工作? 的相关文章

  • 如何在 iPhone 上使用带有线程的 sqlite + fdbm 库

    相关这个问题 https stackoverflow com questions 1082554 我想把数据加载放在后台 但是 我收到 库例程调用不按顺序 错误 In 这个所以线程 https stackoverflow com quest
  • 哪一条路?数据库优先、模型优先、仅代码?

    最近我通过Pro Entity Framework 4 0这本书学习了Entity Framework 现在 我想用EF来写项目 有了这些条件 哪种方式更好更灵活 我的观点是模型优先 但我想知道你的意见 thanks 读这个 EF 4 1
  • Android:无法使用 DbHelper 和 Contract 类将数据插入 SQLite

    public class Main2Activity extends AppCompatActivity private EditText editText1 editText2 editText3 editText4 private Bu
  • SQLite-Net 扩展 - GetAllWithChildrenAsync 未提取所有内容

    我正在尝试使用 SQLite Net 扩展来创建关系数据库 我在尝试从数据库中提取 Term 对象时遇到了问题 它成功地撤回了其关联的课程 但未撤回与课程关联的评估和笔记 我不确定问题是否在于如何将对象插入数据库 如何从数据库中提取对象 或
  • 如何从子查询 SQLite 接收两个值

    我是一个自学的 SQLite 新手 我有三个表 person pet person pet schema 是 CREATE TABLE person id INTEGER PRIMARY KEY first name TEXT last n
  • PhoneGap 上的 SQLite 数据库

    我想使用 PhoneGap 为 iPhone 实现 SQLite 数据库 我了解 iPhone 本机应用程序中 SQLite 数据库的一些基础知识 但是如何在 PhoneGap 中实现 SQLite 数据库呢 我们最终使用了PhoneGap
  • Android 在创建时出现 SQLiteException

    首先我想说我是android新手 所以如果这个问题太愚蠢我很抱歉 我正在为带有两个表的 SQLite 数据库编写一个内容提供程序 表格上是在导航抽屉活动中显示列表 第二个表格是在 ListFragment 中显示 每次启动应用程序时 我都会
  • Android - 内容值覆盖现有行

    我正在尝试使用插入值ContentValues 我已将 5 个值插入到 5 列中 运行应用程序后 我只有最后一组值的行ContentValues 前四组未插入 ContentValues cv new ContentValues cv pu
  • 无法在 ruby​​ on Rails 上加载此类文件 - sqlite3/sqlite3_native (LoadError)

    当我尝试在 Ruby 2 0 0 上使用 Rails 4 0 0 设置基本安装和启动服务器时 我遇到以下错误消息 usr local lib ruby gems 2 0 0 gems sqlite3 1 3 7 lib sqlite3 rb
  • 从EntityFramework的`DbContext`获取数据库类型

    问题非常简单 给定一个实体框架的实例DbContext 我想告诉它的有效数据库之间是如何连接的 据我所知 目前有针对 SQL Server Microsoft MySQL Oracle 以及 Postgres 的 EF 提供程序的实现 假设
  • 列名不明确错误

    我在从 2 个表中选择命令时遇到问题 所以我有表1 table1 id int pk table1 name table1 surname table1 age table1 address table1 city 和表2 table2 i
  • “你可能认识的人”sql查询

    我正在开发 你可能认识的人 功能 我有两张桌子 USERS id email name etc 友谊 user id朋友ID 对于每段友谊 我都会做两条记录 假设用户 7 和 9 成为朋友 我会在友谊表中创建一条记录 其中 user id
  • EF 6 从没有导航属性的其他表中选择

    我有一个小问题需要帮助解决 我有以下情况 例如 我想选择所有养狗的学生 我有 2 张桌子 students id name petid pet id name 但是它们之间没有指定的外键 没有导航属性 虽然我有但没有指定它并且我不想要我的情
  • EF CF:带有附加信息的多对多关系

    我们有遗留数据库 并将新对象和道具映射到旧表和列 到目前为止 一切都很好 我们有已成功映射的多对多关系 中间表包含附加数据 当我们尝试将中间表映射到对象时 我们会得到映射已定义的异常 如果我们从关系的任何一侧删除映射 我们都会收到表丢失的错
  • 单元测试 SqlFunction

    我有一个公开 IQueryable 的存储库和一个处理特定查询的服务 这里有一些使用 DbFunctions 的方法 为了可测试 我创建了一个带有静态元素列表的假存储库并将其注入到服务中 问题是 由于我的服务查询列表并且不使用数据库 因此我
  • Android sqlite 日志报告和 db.close()

    日志报告数据库或游标未关闭 我基本上有一个带有自定义表面视图的活动 并使用处理程序向活动报告 当我收到消息时 我会显示一个警报对话框并更新数据库 private Handler handler new Handler public void
  • 实体框架中是否存在 NHibernate.ToFuture() 扩展方法的类似方法?

    所以问题就在标题中 NHibernate 用户可以做什么 var q1 Source Companies ToFuture var q2 Source Items ToFuture var q3 Source Users ToFuture
  • 如何使用实体框架对象上下文执行事务?

    我使用 Entity Framework 4 创建了一个非常简单的数据库 我希望能够在实体上使用事务 但我似乎无法阻止更改回滚 我真的只需要一种方法来放弃对实体的临时更改 然后再将其保存到数据库中 例如 以下代码使用实体框架对象上下文 Mu
  • SQLite 连接在 C# 中不起作用

    我正在使用操作 SQLite 数据库的 C 应用程序 直到昨天它工作正常 它正在检索记录 但从昨晚开始 连接字符串返回 Data Source null 下面是测试代码 using System using System Collectio
  • 在实体框架中不使用 Dispose 或 using()

    我一路上正在编写一个网络应用程序并学习实体框架 如果我做错了什么 我很好奇 我在查询时没有使用过 dispose 或 using 语句 我的存储库示例 public User GetUserById int sessionId var us

随机推荐