EntityTypeBuilder does not contain a definition for 'Navigation'

Viewed 3620

How do I resolve this EntityTypeBuilder does not contain a definition for 'Navigation'?

Just added migration.

Project: Class Library .Net statndard 2.

 modelBuilder.Entity("ExpenseManager.DAL.Entities.Ex_paymentretirement", b =>
            {
                b.HasOne("ExpenseManager.DAL.Entities.Ex_requisitionpayment", "Ex_requisitionpayment")
                    .WithOne("Ex_paymentretirement")
                    .HasForeignKey("ExpenseManager.DAL.Entities.Ex_paymentretirement", "RequisitionPaymentId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.Navigation("Ex_requisitionpayment");//here*****
            });

        modelBuilder.Entity("ExpenseManager.DAL.Entities.Ex_requisitiondetails", b =>
            {
                b.HasOne("ExpenseManager.DAL.Entities.Ex_classificationsetup", "Ex_classificationsetup")
                    .WithMany("Ex_requisitiondetails")
                    .HasForeignKey("ClassificationsetupId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.HasOne("ExpenseManager.DAL.Entities.Ex_requisitionote", "ex_Requisitionote")
                    .WithMany("Ex_requisitiondetails")
                    .HasForeignKey("RequisitionId")
                    .OnDelete(DeleteBehavior.Cascade)
                    .IsRequired();

                b.Navigation("Ex_classificationsetup");//here*****

                b.Navigation("ex_Requisitionote");//here*****
            });
1 Answers

Method Navigation was added in .NET 5: https://docs.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.metadata.builders.entitytypebuilder.navigation?view=efcore-5.0

In EFCore 5 NavigationBuilder is for configuring relation properties, like:

modelBuilder.Entity<Blog>()
    .HasMany(b => b.Posts)
    .WithOne();

modelBuilder.Entity<Blog>()
    .Navigation(b => b.Posts)
    .UsePropertyAccessMode(PropertyAccessMode.Property);

It contains also methods HasField, HasAnnotation, IsRequired.

To fix an issue you need to downgrade to EFCore 3.1 and regenerate migrations

Related