EF Core:如何在单向关系中指定外键

EF Core: how to specify foreign key in one-way relationships

我正在使用 Entity Framework Core 6 fluent API 在 .NET Core 项目中配置我的数据库架构。

声明双向关系时,我们可以像这样轻松指定外键:

modelBuilder.Entity<Foo>()
    .HasMany(x => x.Bars)
    .WithOne(x => x.Foo)
    .HasForeignKey(x => x.FooId);

但是,如果我们有这样的单向关系:

modelBuilder.Entity<Foo>()
    .HasOne(x => x.Bar);

我不明白如何指定外键,因为 .HasOne 方法不 return 具有 .HasForeignKey() 方法的对象。

在这些情况下如何指定外键?

尝试做这样的事情:

  modelBuilder.Entity<Foo>()
            .HasOne(x => x.Bar)
            .WithOne()
            .HasForeignKey(e => e.Whatever);

这个也许也能帮到你