在实体框架中正确实施识别关系?

时间:2012-03-06 07:34:11

标签: c# entity-framework-4

假设我有一个实体Author,其名称可以写0 .. 1 ..或许多实体BookBook必须由一个Author撰写,而BookAuthor的讨论没有意义。

这(我相信)将被归类为识别关系。使用EntityTypeConfiguration,以下是实现此识别关系的正确方法吗?

public BookMapping()
{
    HasRequired(book => book.Author)
   .WithMany(author => author.Books)
   .HasForeignKey(book => book.AuthorID);
}

1 个答案:

答案 0 :(得分:1)

它不是识别关系。这只是常见的一对多关系。要使其识别,您还必须映射由BookIDAuthorID组成的复合主键。

HasKey(book => new { book.BookID, book.AuthorID });