[英]Cannot SaveChanges in .NET 5 EF Core with Devart.Data.Oracle.EFCore
[英]Devart.Data.Oracle.OracleConnection cannot be cast to… when running on server
我正在使用 oracle 數據庫和實體框架 6.0 在 vs2012 中開發,使用 Devart.Data.Oracle 連接到數據庫。 在上次部署中,我收到此錯誤,“Devart.Data.Oracle.OracleConnection 無法轉換為...”僅在服務器上運行時。 在本地機器+調試模式下,一切 go OK。
我猜它與 Devart 或 Entityframework 升級有關,可能與 app.config 文件有關。 但所有嘗試都失敗了。 完整的錯誤消息:批處理控制台:[A]Devart.Data.Oracle.OracleConnection 無法轉換為 [B]Devart.Data.Oracle.OracleConnection。 A 型源自 \ 來自位置 \ 'C:\Windows\assembly\GAC_MSIL\Devart.Data.Oracle \8.1.36.0__09af7300eec23701\Devart.Data.Oracle.dll'。 類型 B 源自 'Devart\.Data.Oracle, Version=9.7.770.0, Culture=neutral, PublicKeyToken=09af7300eec23701' 在上下文 'Default' 的位置 '\vsrvmink\ un\VMIKUN\mikunjr\PVN\ctm0y1_mushlach_ Status_Tst\Devart.Data.Oracle.dll'。
配置文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ParallelRun.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
</sectionGroup>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="ParallelRun.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<connectionStrings>
<add name="PVNEntitiesConnectionString" connectionString="metadata=res://*/DataModelContex.csdl|res://*/DataModelContex.ssdl|res://*/DataModelContex.msl;provider=Devart.Data.Oracle;provider connection string="User Id=pvn;Password=pvn;Server=test;Direct=True;Sid=test;Persist Security Info=True"" providerName="System.Data.EntityClient"/>
<userSettings>
<ParallelRun.Properties.Settings>
<setting name="DeleteBeforeRun" serializeAs="String">
<value>delete from pvn_tnuot</value>
</setting>
<setting name="DeleteBeforeDS" serializeAs="String">
<value />
</setting>
<setting name="ExportCommand" serializeAs="String">
<value />
</setting>
</ParallelRun.Properties.Settings>
</userSettings>
<system.data>
<DbProviderFactories>
<!--<remove invariant="Devart.Data.Oracle"/>
<add name="dotConnect for Oracle" invariant="Devart.Data.Oracle" description="Devart dotConnect for Oracle" type="Devart.Data.Oracle.OracleProviderFactory, Devart.Data.Oracle, Version=9.7.770.0, Culture=neutral, PublicKeyToken=09af7300eec23701"/>-->
</DbProviderFactories>
</system.data>
<entityFramework>
<providers>
<provider invariantName="Devart.Data.Oracle" type="Devart.Data.Oracle.Entity.OracleEntityProviderServices, Devart.Data.Oracle.Entity.EF6, Version=9.7.770.0, Culture=neutral, PublicKeyToken=09af7300eec23701" />
</providers>
</entityFramework>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
<applicationSettings>
<ParallelRun.Properties.Settings>
<setting name="LogFileName" serializeAs="String">
<value>BatchLogTs</value>
</setting>
</ParallelRun.Properties.Settings>
</applicationSettings>
</configuration>
打開數據庫連接的第一行代碼非常簡單: int bankscounter = DataAccess.Instance.CountBanks();
此時所有連接組件都已加載,我收到此錯誤。 歡迎任何幫助/建議。
Devart.*
和policy.*.Devart.*
文件?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.