【发布时间】:2021-09-27 20:08:50
【问题描述】:
项目在
- .Net Framework MVC 4.6
- Oracle 数据库更新到 19.0.48.0.0
我的应用程序在复杂的基础架构中工作,并且更新到 .net 核心框架,效果不佳!
我花了 2 到 3 周的时间寻找这个解决方案,但所涉及的所有信息都将应用程序更新为 .NET CORE。 (Oracle 数据库更新到 Oracle.ManagedDataAccess 版本到 19.3.0)
错误资源管理器“Oracle data Provider for .NET 不支持 Oracle 19.0.48.0.0”
应用程序出错:
public static Context Create(string tenantSchema, DbConnection connection, bool starTablesContext = true)
{
var compiledModel = modelCache.GetOrAdd(
Tuple.Create(connection.ConnectionString, tenantSchema),
t =>
{
var builder = new DbModelBuilder();
//builder.Conventions.Remove<ColumnTypeCasingConvention>();
builder.Conventions.Remove<PluralizingTableNameConvention>();
builder.Conventions.Remove<IncludeMetadataConvention>();
if (starTablesContext) StartTables(builder, tenantSchema);
//Error in this line
var model = builder.Build(connection);
return model.Compile();
});
return new Context(connection, compiledModel, tenantSchema);
}
有人知道如何在不更新的情况下解决此问题吗?
还有其他解决方案吗?
恐怕要将此解决方案中的所有应用程序更新为 .NET Core,辛苦了,因为 MVC 和 .NET CORE 需要进行许多更改才能工作,并且在此之后问题无法解决并导致任何其他问题。
【问题讨论】:
-
请阅读How to Ask,其中指出,“请勿发布代码、数据、错误消息等的图片。 - 将文本复制或输入到问题中。 "(强调原文)。
-
为什么不想更新到 Oracle.ManagedDataAccess 19.3 版?您可以将它与完整的 .NET Framework 一起使用。无需切换到 .NET Core。 The release notes for the version mention it is certified for .NET Framework 4.8...
-
您是否使用了正确的驱动程序?您是否使用了最新版本?你使用的是 .NET Old 还是 .NET Core 版本>Oracle.ManagedDataAccess.Core 的最新版本是 3.21.3,而不是 19.3。
-
the update to .net core framework没有这样的东西。 .NET Framework 是在 .NET Framework 4.8 停止并处于维护模式的旧运行时。 .NET Core 是新的跨平台运行时。 .NET 5 是 .NET Core 5。最新版本是 .NET 6 RC1,虽然尚未最终确定,但在生产中受支持。 .NET Core 是 5 年前发布的,因此与 .NET Old 存在很多的差异和重大变化。 Web 开发本身是非常不同的。 Web API、Razor Pages 和 MVC 的差异远大于 Oracle ADO.NET 驱动程序 -
@PanagiotisKanavos 没有 .NET Core 5 这样的东西。有 .NET Core 3.1 和 .NET Framework 4.8。现在有了 .NET 5。只要我们是迂腐的;-P
标签: .net asp.net-mvc oracle19c