Skip to content

Commit

Permalink
Add quirk mode for #24221
Browse files Browse the repository at this point in the history
  • Loading branch information
AndriySvyryd committed Feb 23, 2021
1 parent f465216 commit 7485ea7
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions src/EFCore.Relational/Update/Internal/CommandBatchPreparer.cs
Expand Up @@ -697,10 +697,10 @@ private void AddUniqueValueEdges(Multigraph<ModificationCommand, IAnnotatable> c

if (principalKeyValue != null)
{
if (!keyPredecessorsMap.TryGetValue((key, principalKeyValue), out var predecessorCommands))
if (!keyPredecessorsMap.TryGetValue((GetKey(key), principalKeyValue), out var predecessorCommands))
{
predecessorCommands = new List<ModificationCommand>();
keyPredecessorsMap.Add((key, principalKeyValue), predecessorCommands);
keyPredecessorsMap.Add((GetKey(key), principalKeyValue), predecessorCommands);
}

predecessorCommands.Add(command);
Expand Down Expand Up @@ -761,12 +761,18 @@ private void AddUniqueValueEdges(Multigraph<ModificationCommand, IAnnotatable> c
if (principalKeyValue != null)
{
AddMatchingPredecessorEdge(
keyPredecessorsMap, (key, principalKeyValue), commandGraph, command, key);
keyPredecessorsMap, (GetKey(key), principalKeyValue), commandGraph, command, key);
}
}
}
}
}
}

private static readonly bool _useOldKeyComparison =
AppContext.TryGetSwitch("Microsoft.EntityFrameworkCore.Issue24221", out var enabled) && enabled;

private IKey GetKey(IKey key)
=> _useOldKeyComparison ? null : key;
}
}

0 comments on commit 7485ea7

Please sign in to comment.