.NET Core 项目 DbProviderFactories.GetFactoryClasses()返回空
.NET Core 项目中由于没有app.config,无法再.config中注册DBFactory,
导致 DbProviderFactories.GetFactoryClasses() 获取为空
解决方案
使用前先注册
如果此列表需要与新的数据库提供商(例如 SqlClient)一起扩展,则需要在报告处理之前执行以下行:
DbProviderFactories.RegisterFactory("SqlClient Data Provider", Microsoft.Data.SqlClient.SqlClientFactory.Instance);
如果数据提供商不提供静态实例,提供商可以使用工厂装配合格名称进行注册
DbProviderFactories.RegisterFactory("SqlClient Data Providerff", "Microsoft.Data.SqlClient.SqlClientFactory, Microsoft.Data.SqlClient, Version=3.0.0.0, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5");
如何根据数据库提供的实例得到AssemblyQualifiedName字符串呢?如图
DATABASE | DBPROVIDERFACTORY TYPE NAME |
---|---|
MSSQL | System.Data.SqlClient.SqlClientFactory |
SQLite | System.Data.SQLite.SQLiteFactory |
MySql | MySql.Data.MySqlClient.MySqlClientFactory |
PostgreSql | Npgsql.NpgsqlFactory |
Oracle | Oracle.ManagedDataAccess.Client.OracleClientFactory |
参考:
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post YES开发框架