WithOptional with Entity Framework Core

gog*_*gog 6 entity-framework entity-framework-core .net-core asp.net-core

我正在尝试将旧的应用程序迁移到新的EF Core,但我找不到像以下这样的关系:

  HasRequired(o => o.Document).WithOptional(o => o.CancelNote);
Run Code Online (Sandbox Code Playgroud)

有一些扩展方法吗?我在文档上找不到.

HasRequired我认为这是可能的替代HasOne()方法,但如何对WithOptional()

另外,根据文档,实体不使用virtual关键字来创建导航属性,延迟加载将如何工作?

oct*_*ccl 13

您将无法HasOptional在EF7中找到等效方法.按照惯例,如果您的FK属性可以为,则您的navigation属性将被视为可选

 modelBuilder.Entity<Blog>()
                .HasOne(p => p.Document)
                .WithOne(i => i.CancelNote)
                .HasForeignKey<Document>(b => b.CancelNoteForeignKey);
Run Code Online (Sandbox Code Playgroud)

关于第二个问题,EF Core(EF7)不支持延迟加载.在此链接中,您将找到加载相关实体的选项