Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

EntityTypeBuilder does not contain a definition for 'Navigation'

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*****
            });
like image 787
Favour Emmanuel Avatar asked Nov 04 '25 18:11

Favour Emmanuel


1 Answers

Method Navigation was added in .NET 5: https://learn.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

like image 106
Igor Goyda Avatar answered Nov 07 '25 10:11

Igor Goyda