尝试创建仅具有外键的新表:
public class OnlyFKs
{
public double a3 { get; set; }
public int a1 { get; set; }
public int a2 { get; set; }
public string b { get; set; }
public Bs B { get; set; }
public As A { get; set; }
}
在A和B中存在:
public ICollection<OnlyFKs> OnlyFKs { get; set; }
进展不佳:
modelBuilder.Entity<OnlyFKs>(o =>
{
o.HasOne<Bs>(thisB => thisB.B)
.WithMany(g => g.OnlyFKs)
.HasForeignKey(s => s.b);
o.HasOne<As>(thisA => thisA.A)
.WithMany(g => g.OnlyFKs)
.HasForeignKey(g => new { g.a1, g.a2, g.a3 });
});
是否不可能创建没有主键而只有外键的表?
答案 0 :(得分:0)
必须有一个主键。如果您不希望有一个ID列,而是创建诸如联接表之类的内容,则可以创建由a1,a2,a3和b组成的复合键。
Entity Framework Core支持复合键-主键值 从数据库中的两个或多个字段生成。但是,与 以前版本的Entity Framework,您不能使用Key 属性定义组合键。这只能通过 流利的API。