Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WithOptional with Entity Framework Core

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?

like image 728
gog Avatar asked Jul 21 '16 19:07

gog


1 Answers

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

like image 158
octavioccl Avatar answered Oct 20 '22 03:10

octavioccl