如何在 .NET MVC Core 5 中使用 WebMatrix 方法和 Npgsql
How to use WebMatrix methods with Npgsql in .NET MVC Core 5
我想使用 WebMatrix.Data 命名空间
#region Assembly WebMatrix.Data, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// .. \packages\Microsoft.AspNet.WebPages.Data.3.2.7\lib\net45\WebMatrix.Data.dll
在 ASP MVC Core 5 中使用 Npgsql 数据提供程序。
在web.config中定义为
<system.data>
<DbProviderFactories>
<clear />
<add name="Npgsql Data Provider" invariant="Npgsql"
support="FF" description=".Net Framework Data Provider for Postgresql Server"
type="Npgsql.NpgsqlFactory, Npgsql" />
</DbProviderFactories>
</system.data>
.NET 5 不从 web.config 读取配置。
我按照
试过了
Add a DbProviderFactory without an App.Config
在代码中
System.Data.Common.DbProviderFactories.RegisterFactory("NpgSql", Npgsql.NpgsqlFactory.Instance);
但是出现编译错误 RegisterFactory 方法不存在。 VS2019 程序集查看器确认了这一点:
#region Assembly System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Data.dll
#endregion
namespace System.Data.Common
{
public static class DbProviderFactories
{
public static DbProviderFactory GetFactory(string providerInvariantName);
public static DbProviderFactory GetFactory(DataRow providerRow);
public static DbProviderFactory GetFactory(DbConnection connection);
public static DataTable GetFactoryClasses();
}
}
根据文档,它必须存在:
如何在 .NET MVC Core 5 的 WebMatrix 中使用 Postgres 数据库?
您的目标似乎是 .NET Framework 4.8,而不是 .NET 5:
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Data.dll
此外,WebMatrix 是一项已经停产的旧技术,其正式support has ended on November 1st, 2017。所以你不太可能让它在 .NET 5 上运行。
我想使用 WebMatrix.Data 命名空间
#region Assembly WebMatrix.Data, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// .. \packages\Microsoft.AspNet.WebPages.Data.3.2.7\lib\net45\WebMatrix.Data.dll
在 ASP MVC Core 5 中使用 Npgsql 数据提供程序。
在web.config中定义为
<system.data>
<DbProviderFactories>
<clear />
<add name="Npgsql Data Provider" invariant="Npgsql"
support="FF" description=".Net Framework Data Provider for Postgresql Server"
type="Npgsql.NpgsqlFactory, Npgsql" />
</DbProviderFactories>
</system.data>
.NET 5 不从 web.config 读取配置。 我按照
试过了Add a DbProviderFactory without an App.Config
在代码中
System.Data.Common.DbProviderFactories.RegisterFactory("NpgSql", Npgsql.NpgsqlFactory.Instance);
但是出现编译错误 RegisterFactory 方法不存在。 VS2019 程序集查看器确认了这一点:
#region Assembly System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Data.dll
#endregion
namespace System.Data.Common
{
public static class DbProviderFactories
{
public static DbProviderFactory GetFactory(string providerInvariantName);
public static DbProviderFactory GetFactory(DataRow providerRow);
public static DbProviderFactory GetFactory(DbConnection connection);
public static DataTable GetFactoryClasses();
}
}
根据文档,它必须存在:
如何在 .NET MVC Core 5 的 WebMatrix 中使用 Postgres 数据库?
您的目标似乎是 .NET Framework 4.8,而不是 .NET 5:
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.8\System.Data.dll
此外,WebMatrix 是一项已经停产的旧技术,其正式support has ended on November 1st, 2017。所以你不太可能让它在 .NET 5 上运行。