Browse Source

Update SetApplicationIdAsync()/SetAuthorizationIdAsync() to be compatible with QueryTrackingBehavior.NoTracking

pull/1174/head
Kévin Chalet 5 years ago
parent
commit
78aeb991de
  1. 6
      src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreAuthorizationStore.cs
  2. 12
      src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreTokenStore.cs

6
src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreAuthorizationStore.cs

@ -764,8 +764,10 @@ namespace OpenIddict.EntityFrameworkCore
// Warning: FindAsync() is deliberately not used to work around a breaking change introduced
// in Entity Framework Core 3.x (where a ValueTask instead of a Task is now returned).
var application = await Applications.AsQueryable()
.FirstOrDefaultAsync(application => application.Id!.Equals(key), cancellationToken);
var application =
await Applications.AsQueryable()
.AsTracking()
.FirstOrDefaultAsync(application => application.Id!.Equals(key), cancellationToken);
if (application is null)
{

12
src/OpenIddict.EntityFrameworkCore/Stores/OpenIddictEntityFrameworkCoreTokenStore.cs

@ -730,8 +730,10 @@ namespace OpenIddict.EntityFrameworkCore
// Warning: FindAsync() is deliberately not used to work around a breaking change introduced
// in Entity Framework Core 3.x (where a ValueTask instead of a Task is now returned).
var application = await Applications.AsQueryable()
.FirstOrDefaultAsync(application => application.Id!.Equals(key), cancellationToken);
var application =
await Applications.AsQueryable()
.AsTracking()
.FirstOrDefaultAsync(application => application.Id!.Equals(key), cancellationToken);
if (application is null)
{
@ -773,8 +775,10 @@ namespace OpenIddict.EntityFrameworkCore
// Warning: FindAsync() is deliberately not used to work around a breaking change introduced
// in Entity Framework Core 3.x (where a ValueTask instead of a Task is now returned).
var authorization = await Authorizations.AsQueryable()
.FirstOrDefaultAsync(authorization => authorization.Id!.Equals(key), cancellationToken);
var authorization =
await Authorizations.AsQueryable()
.AsTracking()
.FirstOrDefaultAsync(authorization => authorization.Id!.Equals(key), cancellationToken);
if (authorization is null)
{

Loading…
Cancel
Save