WithOptional with Entity Framework Core

2019-04-29 23:11发布

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?

1条回答
冷血范
2楼-- · 2019-04-30 00:07

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

查看更多
登录 后发表回答