EF中的复合键起作用吗

本文关键字:起作用 复合 EF | 更新日期: 2023-09-27 18:21:13

我首先开始使用EF 4.1代码。

我有一个这样的实体表:

public AMapping()
{
   Property(x => x.Counter).IsRequired();
   HasKey(x => x.AID);
   HasKey(x => x.BID);
   HasRequired<A>(x => x.A)
      .WithMany(y => y.CList)
      .HasForeignKey(f => f.AID);
   ToTable("A");
}

表A列看起来像这样:

  AID(PK, FK, int, not null)
  Counter(int, not null)
  BID(PK, FK, int, not null)

在编写保存集成测试时,它给出了以下错误:

无法将值NULL插入表"Sprint3.dbo.A"的列"BID"中;列不允许为null。INSERT失败。

但是我可以看到我正在传递一个整数值。

EF 4.1代码中的复合主键是否存在任何约束?

EF中的复合键起作用吗

HasKey(x => new { x.AID, x.BID});

从未使用过它,只是昨天在文档中看到了它:)