首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LinkTable上的两个一对多关联

LinkTable上的两个一对多关联
EN

Stack Overflow用户
提问于 2011-11-29 21:13:21
回答 1查看 92关注 0票数 1

我有一个名为: BlogsBlogPosts的LinkTable,它将另外两个名为:博客和BlogPosts的表关联在一起,我希望链接表出现在实体列表中,并且在链接表上定义了两个一对多关系。我这样定义它对吗?:

代码语言:javascript
复制
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);
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-29 21:50:36

是。留给我的唯一问题是:BlogsBlogPost的主键属性是什么?有两个选项:

  • 此实体中有一个不同的键属性,如public int BlogsBlogPostID { get; set; }public int ID { get; set; }。在这种情况下,(BlogIDBlogPostID)的组合不必是唯一的。
  • 或者您有一个由(BlogIDBlogPostID)组成的组合键。你必须用[Key]注解来标记它,或者在Fluent API中定义它:

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

现在(BlogIDBlogPostID)的组合必须是唯一的。这更像是一种“在链接表中包含额外数据的多对多关系”类型的relationship.

这两种模型都是可能的。具体使用哪种方式取决于您的业务需求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8311316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档