我有一个名为:BlogsBlogPosts的链接列表,该链接将两个名为:博客和博客插曲相关联,我希望链接表出现在实体列表中,并且在链接台上定义了两次到许多关系,我更正了,以定义它来定义它像这样?:

public class BlogsBlogPostConfiguration : EntityTypeConfiguration<BlogsBlogPost>
{
    public BlogsBlogPostConfiguration()
    {
        this.HasRequired(bb => bb.Blog)
        .WithMany(b => b.BlogsBlogPosts)
        .HasForeignKey(bb =>bb.BlogID);

        this.HasRequired(bb => bb.BlogPost)
       .WithMany(bp => bp.BlogsBlogPosts)
       .HasForeignKey(bb => bb.BlogPostID);
    }
}
有帮助吗?

解决方案

是的。我唯一剩下的问题是: BlogsBlogPost?两个选项:

  • 您要么拥有一个独特的关键属性 public int BlogsBlogPostID { get; set; } 或者 public int ID { get; set; } 在这个实体中。在这种情况下,BlogID, BlogPostID)不必是唯一的。

  • 或者您有一个复合键,包括(BlogID, BlogPostID)。您必须用 [Key] 注释或在流利的API中定义它:

    this.HasKey(bbp => new { bbp.BlogID, bbp.BlogPostID });
    

    现在的组合(BlogID, BlogPostID)必须是唯一的。这更像是链接表中与其他数据的多一关系“关系类型。

两种模型都是可能的。使用的取决于您的业务需求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top