Firebird .NET 提供程序 5.0.0 和 EF6
Firebird .NET Provider 5.0.0 and EF6
我一直在尝试创建 Firebird 数据库的实体数据模型,但我无法克服这个错误:
我已经安装了:
DDEX 提供商 3.0.2.0
Firebird .NET Provider 5.0.0.0(尝试使用 .msi 从 Firebird 的官方网站安装它并手动添加对
项目并从 NuGet 安装它)
EntityFramework.Firebird(来自 NuGet)
这是我的 machine.config:
<system.data>
<DbProviderFactories>
<add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".NET Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=5.0.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c"/>
</DbProviderFactories>
</system.data>
这是我的 App.config:
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<system.data>
<DbProviderFactories>
<remove invariant="FirebirdSql.Data.FirebirdClient" />
<add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".NET Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient" />
</DbProviderFactories>
</system.data>
<entityFramework>
<providers>
<provider invariantName="FirebirdSql.Data.FirebirdClient" type="FirebirdSql.Data.EntityFramework6.FbProviderServices, EntityFramework.Firebird" />
</providers>
<defaultConnectionFactory type="FirebirdSql.Data.EntityFramework6.FbConnectionFactory, EntityFramework.Firebird" />
</entityFramework>
这是我的连接字符串:
metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=FirebirdSql.Data.FirebirdClient;provider connection string="character set=NONE;initial catalog=C:\Users\brakm\Desktop\test.fdb;user id=sysdba;password=masterkey;data source=localhost"
更多信息:
- Visual Studio 2015
- Firebird 版本为 2.5
- 尝试使用 EF 6.0 和 EF 6.13
编辑
我已经尝试在新的(干净的)项目(C# 控制台应用程序)中创建模型并且成功了。我安装了 EntityFramework.Firebird(来自 NuGet),它自动安装了基础 EF 和 Firebird sql 提供程序,但是在对原始项目执行相同操作后没有任何改变,我尝试清理项目中与 firebird 相关的任何内容,包括删除引用,清除 packages.config 并从项目中手动删除任何与 firebird 相关的文件。
设法修复它,
- 从项目中删除所有 Entity framework 和 Firebird 引用
- 清除packages.config个文件
- 从项目目录中删除链接到 EF 和 Firebird 的所有文件
- 从 NuGet 下载 EntityFramework.Firebird(这将默认自动安装 FirebirdClient 和 EntityFramework 最旧的兼容版本)
- 将 EF 更新到最新版本,因为 base 6.0 导致崩溃(对我来说)原因不明
我一直在尝试创建 Firebird 数据库的实体数据模型,但我无法克服这个错误:
我已经安装了:
DDEX 提供商 3.0.2.0
Firebird .NET Provider 5.0.0.0(尝试使用 .msi 从 Firebird 的官方网站安装它并手动添加对 项目并从 NuGet 安装它)
EntityFramework.Firebird(来自 NuGet)
这是我的 machine.config:
<system.data>
<DbProviderFactories>
<add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".NET Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=5.0.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c"/>
</DbProviderFactories>
</system.data>
这是我的 App.config:
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<system.data>
<DbProviderFactories>
<remove invariant="FirebirdSql.Data.FirebirdClient" />
<add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".NET Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient" />
</DbProviderFactories>
</system.data>
<entityFramework>
<providers>
<provider invariantName="FirebirdSql.Data.FirebirdClient" type="FirebirdSql.Data.EntityFramework6.FbProviderServices, EntityFramework.Firebird" />
</providers>
<defaultConnectionFactory type="FirebirdSql.Data.EntityFramework6.FbConnectionFactory, EntityFramework.Firebird" />
</entityFramework>
这是我的连接字符串:
metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=FirebirdSql.Data.FirebirdClient;provider connection string="character set=NONE;initial catalog=C:\Users\brakm\Desktop\test.fdb;user id=sysdba;password=masterkey;data source=localhost"
更多信息:
- Visual Studio 2015
- Firebird 版本为 2.5
- 尝试使用 EF 6.0 和 EF 6.13
编辑
我已经尝试在新的(干净的)项目(C# 控制台应用程序)中创建模型并且成功了。我安装了 EntityFramework.Firebird(来自 NuGet),它自动安装了基础 EF 和 Firebird sql 提供程序,但是在对原始项目执行相同操作后没有任何改变,我尝试清理项目中与 firebird 相关的任何内容,包括删除引用,清除 packages.config 并从项目中手动删除任何与 firebird 相关的文件。
设法修复它,
- 从项目中删除所有 Entity framework 和 Firebird 引用
- 清除packages.config个文件
- 从项目目录中删除链接到 EF 和 Firebird 的所有文件
- 从 NuGet 下载 EntityFramework.Firebird(这将默认自动安装 FirebirdClient 和 EntityFramework 最旧的兼容版本)
- 将 EF 更新到最新版本,因为 base 6.0 导致崩溃(对我来说)原因不明