我不确定这在 EF 中是否可行,但我正在创建一堆类并试图让 EF 为我创建表。
现在 EF 可以很好地创建我的表,除了一个小问题。它将表创建为:
人员 - PersonId (PK)
Foo - PersonId (PK) - FooId (INT)
Poo - PersonId (PK) - PooId (INT)
理想情况下,我希望表 Foo 和 Poo 中的 PersonId 是外键,而不是主键。这可能吗?尝试使用 ModelBuilder 通过以下方式执行此操作:
modelBuilder.Entity<Foo>().HasKey(x => x.FooId).ToTable("Foo");
public class Person
{
public int PersonId { get; private set; }
}
public class Foo : Person
{
public int FooId { get; private set; }
}
public class Poo : Person
{
public int PooId { get; private set; }
}