我首先开始使用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");
}
表格列如下所示:
AID(PK, FK, int, not null)
Counter(int, not null)
BID(PK, FK, int, not null)
在编写保存集成测试时,它会出现以下错误:
无法将值NULL插入列'BID',表'Sprint3.dbo.A'; 列不允许空值。 INSERT失败。
但我可以看到我传递了一个整数值。
首先是对EF 4.1代码中的复合主键有任何限制吗?
答案 0 :(得分:3)
HasKey(x => new { x.AID, x.BID});
从未使用它,只是在昨天的文档中看到它:)