Skip to content

Binary breaking changes in NavigationEntry in EF Core 8.0 #31104

@kevinchalet

Description

@kevinchalet

EF Core 7.0 (and earlier) has the following NavigationEntry.LoadAsync(...) API:

public abstract Task LoadAsync(CancellationToken cancellationToken = default);

This API was removed in EF Core 8.0 (without being obsoleted first, BTW...) and replaced by:

public abstract Task LoadAsync(LoadOptions options = LoadOptions.None, CancellationToken cancellationToken = default);

The signature has changed in a breaking way (an optional parameter has been added), which causes MemberMissingExceptions when referencing EF Core 8.0 in a project that has dependencies built against EF Core 7.0 (or earlier).

System.MissingMethodException : 'Method not found: 'System.Threading.Tasks.Task Microsoft.EntityFrameworkCore.ChangeTracking.NavigationEntry.LoadAsync(System.Threading.CancellationToken)'.'

Since it was requested by @roji, I attached a simple repro.

(it's very likely other APIs - like Load - have the same issue)

NavigationEntryBreakingChange.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions