与 hasforeignkey 的一对零关系

one to zero relation with hasforeignkey

我有以下 类.

class Zero
{
    One One { get; set; }
    int OneId { get; set; }
}

class One
{
    Zero Zero { get; set}
}

modelBuilder.Entity<Zero>()
        .HasRequired(e => e.One)
        .WithOptional(a=>a.Zero)
        .HasForeignKey(e => e.OneId);//<--error

WithOptional之后没有HasForeignKey,只有WithMany

之后

我怎样才能得到相同的结果?

在 EF 6.X 你可以看看这个 Whosebug post Implementing Zero Or One to Zero Or One relationship in EF Code first by Fluent API

在 EF Core 中你可以试试这个


        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Entity()
                .HasOne(p => p.Link)
                .WithOne(i => i.UrlProvider)
                .HasForeignKey(b => b.UrlProviderId);
        }