WithOptional with Entity Framework Core

.net-core asp.net-core entity-framework entity-framework-core

Question

I'm trying to migrate my old app to the new EF Core but I cannot find some relationships like:

  HasRequired(o => o.Document).WithOptional(o => o.CancelNote);

Is there some extension methods? I cannot find on the docs.

The HasRequired I think that is possible to substitute with HasOne() method, but how about the WithOptional()?

Other thing, according to the docs the entity not uses the virtual keyword to create the navigation properties, how lazy load will work?

Accepted Answer

You will not find an HasOptional equivalent method in EF7. By convention if your FK property is nullable, you navigation property will be treated as optional

 modelBuilder.Entity<Blog>()
                .HasOne(p => p.Document)
                .WithOne(i => i.CancelNote)
                .HasForeignKey<Document>(b => b.CancelNoteForeignKey);

About your second question,EF Core (EF7) doesn't support Lazy Loading. In this link you will find the options you have now to load related entities



Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Is this KB legal? Yes, learn why
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Is this KB legal? Yes, learn why