HasPrincipalKey() 等价于 Entity Framework 6?

HasPrincipalKey() Equivalent for Entity Framework 6?

EF Core 允许我在非主键的 属性 上创建外键关系:

public class Foo
{
    // Primary key 
    public int Id { get; set; }

    // Not primary key, but it does have a unique index.
    public Guid Uuid { get; set; }
}

public class Bar
{
    public int Id { get; set; }
    public Guid FooUuid { get; set; }
}

EF Core 与 Fluent API

// Bar 
builder.Property(c => c.FooUuid).IsRequired();
builder.HasOne<Foo>()
    .WithMany()
    .HasForeignKey(c => c.FooUuid)
    .HasPrincipalKey(g => g.Uuid)
    .IsRequired()
    .OnDelete(DeleteBehavior.Restrict);

我找不到用 EF6 和 Fluent API 执行此操作的等效项。

谁能帮帮我 :)?

在 EF6 中,每个实体只有一个键。但是您可以自由配置您的实体密钥以映射到数据库中的任何密钥。因此,您可以将 Foo.Uuid 作为实体键。