如果启用EnableRetryOnFailure,则FirstOrDefault在“错误”上返回null

时间:2018-09-10 09:51:55

标签: c# sql-server entity-framework-core

我想知道如果为DbContext配置了EnableRetryOnFailure,那么FirstOrDefault语句是否返回null。

启用EnableRetryOnFailure选项已消除了死锁错误,但现在导致从数据库中获取现有元素的查询使用空指针。

我们的配置如下:

services.AddDbContext<CoreContext>(options =>
  {
    options.UseSqlServer(Configuration.GetConnectionString("Default"),
      builder => { builder.EnableRetryOnFailure(7, TimeSpan.FromMilliseconds(750), null); }
    );
  });

Query:
await queryWithInclude.FirstOrDefaultAsync(v => v.Id == id)

当查询行可以被First()替换时,我想知道是否:

  1. 可以通过重试重试并修复死锁操作(它 似乎是暂时性错误)

  2. 我期望达到maxRetries时发生异常,并且 查询失败。该查询包含多个内容。

0 个答案:

没有答案