0

社区,

我正在结合来自 zzzprojects 的实体框架扩展,为来自 Devart 的 MySql Provider 设置 dotConnect。

不幸的是,使用 AddDbContextPool 连接不稳定。使用 AddDbContext 连接是稳定的。

我试图通过 options.ReplaceService 注册提供者,但不知道我必须使用哪种类型。

我尝试显式注册服务的原因是使用“BulkSaveChangesAsync”。我收到错误“无法解决提供程序。您必须明确设置提供者。

如果有人对我有建议会很棒吗?

services.AddDbContextPool<DbContext>(options =>
  {   options.UseMySql(Configuration.GetConnectionString("Default"));
      options.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
  });

依赖项:

<ItemGroup>
    <PackageReference Include="AutoMapper" Version="8.0.0" />
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="6.0.0" />
    <PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="3.3.6" />
    <PackageReference Include="AWSSDK.S3" Version="3.3.31.10" />
    <PackageReference Include="CsvHelper" Version="12.1.2" />
    <PackageReference Include="Devart.Data.MySql.EFCore" Version="8.13.1402" />
    <PackageReference Include="Devart.Data.MySql.EFCore.Design" Version="8.13.1402" />
    <PackageReference Include="Microsoft.AspNetCore.All" />
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.2.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="2.2.4" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.4" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.4" />
    <PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="4.0.1" />
    <PackageReference Include="Z.EntityFramework.Extensions.EFCore" Version="2.5.1" />
  </ItemGroup>

错误:

1.不稳定的连接:

System.NullReferenceException: Object reference not set to an instance of an object.
   at Devart.Data.MySql.MySqlConnection()
   at Devart.Data.MySql.MySqlConnection.Open()
  1. 使用实体框架扩展

    无法解析提供程序。您必须显式设置提供程序。在 Z.BulkOperations.BulkOperation.() 在 Z.BulkOperations.BulkOperation.Execute() 在 Z.BulkOperations.BulkOperation

4

2 回答 2

1

免责声明:我是实体框架扩展项目的所有者

EF 扩展中尚不支持 Devart for MySQL

这就是您目前收到该错误的原因。我们会站在我们这边考虑支持它。

于 2019-06-16T14:15:15.867 回答
0

System.NullReferenceException:对象引用未设置为对象的实例。在 Devart.Data.MySql.MySqlConnection()

dotConnect for MySQL v8.13.1422 包括以下修复:

  • 当未设置 ConnectionString 时,由 .NET Standard 兼容的程序集打开连接时出现错误异常消息的错误已修复
  • 在 EF Core 2 中重新打开连接的错误已修复
于 2019-07-04T15:57:14.493 回答