Я хочу использовать пространство имен 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
с поставщиком данных Npgsql в ASP MVC Core 5.
В 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. Я пробовал согласно
Добавить DbProviderFactory без 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();
}
}
Согласно документу он должен существовать:
Как использовать базу данных Postgres в WebMatrix в .NET MVC Core 5?