jet-ef-provider - JetEntityFrameworkProvider - 数据库优先

标签 jet-ef-provider

我一直无法让 JetEntityFrameworkProvider 工作。几个问题/评论(运行 VS2017,JetEntityFrameworkProvider 的 6.4.1 nuGet)想要连接到 MS2016 访问数据库。

  • 我观看了视频,但是当我查看最新 zip 中的文件时,Key.snk 文件不在那里。我添加了自己的但不确定是否还有其他需要更改的内容?
  • 对于 JetDdexProvider,添加了 GenerateAssemblyInfo 的新资源名称并将值设置为 false,以便我可以将版本设置为与我拉取的 nuGet 包(6.1.4)中的版本相同,否则在构建 VS 时会向 AssemblyInfo 添加 2 行。 cs 然后提示它们已经存在:

  • [装配:装配版本(“6.1.4.0”)]
    [程序集:AssemblyFileVersion("6.1.4.0")]
  • 预构建命令没有找到 vsvars32.bat 所以我把它改成了:
    调用“C:\Program Files (x86)\Common7\Tools\vsvars32.bat”
    gacutil/u JetEntityFrameworkProvider.dll
  • 我正在运行 VS2017。我将 install.config 更新为:SET REGROOT=SOFTWARE\Microsoft\VisualStudio\14.0_Config。我看到 key HKEY_USERS\S-1-5-21-3512878864-1034292029-1113751564-1001\Software\Microsoft\VisualStudio\14.0_Config\DataProviders{52C271ED-FAE1-444E-8C3A-444E-8EC4C3A-Version 是注册表中的. 这应该是 6.4.1 (?)

  • 当我首先尝试为数据库创建 edmx 文件时,我只列出了 SQL 服务器数据提供程序,因此试图找出我出错的地方。

    谢谢

    最佳答案

    问题可能是 DDEX 注册(您尝试在注册表上进行的注册)或提供程序的版本。
    关于 DDEX 可能最简单的方法是在当前用户中设置注册表项,这样您就可以确定选择了正确的用户。
    VS2017 是 14 版还是 15 版?这可能是另一个问题。我从未尝试过为 VS2017 注册提供程序。
    另一件事是,在尝试运行 DDEX 提供程序之前,您需要在项目中安装提供程序。通常我使用 NuGet 上的那个。我安装提供程序,编译项目,退出并进入 VS,然后我在提供程序列表中看到 DDEX 提供程序。

    关于jet-ef-provider - JetEntityFrameworkProvider - 数据库优先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48855853/

    相关文章:

    .net-core - 错误 使用 Scaffold-DbContext、EntityFrameworkCore.Jet、.NetCore 时,无法从程序集 System.Data 加载类型 System.Data.OleDb.OleDbConnection

    entity-framework-core - 无法使用 EntityFrameworkCore.Jet 搭建 Scaffold-DbContext

    entity-framework - Microsoft Jet DB 是否与 Entity Framework 一起使用?

    asp.net - 如何使用 Entity Framework 代码优先实现在迁移时更新每一行的唯一值

    c# - Entity Framework 核心和 MS Access

    asp.net - 使用 Jet 引擎使用 Entity Framework (代码优先)重命名列(并保留数据)

    c# - EntityFrameworkCore.Jet 在尝试连接到 MS Access DB 时返回错误