我想知道如果为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()替换时,我想知道是否:
可以通过重试重试并修复死锁操作(它 似乎是暂时性错误)
我期望达到maxRetries时发生异常,并且 查询失败。该查询包含多个内容。