Attempting to use same navigation for two many-to-many relationships should result in last wins
- Dominant language
- C#
- Stars
- 14.8k
- Forks
- 3.4k
- PR merge metrics
- PR metrics pending
Description
## File a bug
### Include your code
Adding an entity with a custom join table for its many to many relationship causes a `NullReferenceException` in this method of EF Core: https://github.com/dotnet/efcore/blob/main/src/EFCore/ChangeTracking/Internal/NavigationFixer.cs#L750
I have included a minimal reproduction: https://github.com/Mr-Technician/EFCoreNullReferenceException
The error occurs in any `6.0.x` version and is working in `5.0.x`. Note that my actual project uses SQL Server, but the error appears regardless of database provider.
### Include stack traces
```
Object reference not set to an instance of an object.
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.NavigationFixer.InitialFixup(InternalEntityEntry entry, Boolean fromQuery)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.NavigationFixer.StateChanged(InternalEntityEntry entry, EntityState oldState, Boolean fromQuery)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntryNotifier.StateChanged(InternalEntityEntry entry, EntityState oldState, Boolean fromQuery)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.FireStateChanged(EntityState oldState)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.SetEntityState(EntityState oldState, EntityState newState, Boolean acceptChanges, Boolean modifyProperties)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.EntityGraphAttacher.PaintAction(EntityEntryGraphNode`1 node)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.EntityEntryGraphIterator.TraverseGraph[TState](EntityEntryGraphNode`1 node, Func`2 handleNode)
at Microsoft.EntityFrameworkCore.ChangeTracking.Internal.EntityGraphAttacher.AttachGraph(InternalEntityEntry rootEntry, EntityState targetState, EntityState storeGeneratedWithKeySetTargetState, Boolean forceStateWhenUnknownKey)
at Microsoft.EntityFrameworkCore.DbContext.SetEntityState(InternalEntityEntry entry, EntityState entityState)
at Microsoft.EntityFrameworkCore.DbContext.SetEntityState[TEntity](TEntity entity, EntityState entityState)
at EFCoreNullReferenceException.Program.Main(String[] args) in C:\Users\rnielsen\source\repos\EFCoreNullReferenceException\EFCoreNullReferenceException\Program.cs:line 37
```
### Include provider and version information
EF Core version: 6.0.0x
Database provider: (e.g. Microsoft.EntityFrameworkCore.SqlServer)
Target framework: (e.g. .NET 6.0)
Operating system: Windows
IDE: Visual Studio 2022 17.4
Contributor guide
Assessment
This issue has not been assessed yet.