Favour Emmanuel
Favour Emmanuel

Reputation: 121

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*****
            });

Upvotes: 4

Views: 5335

Answers (1)

Igor Goyda
Igor Goyda

Reputation: 2017

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

Upvotes: 2

Related Questions