Question

J'ai un LinkTable nommé: BlogsBlogPosts qui se rapporte deux autres tables nommées: Blogs et BlogPosts ensemble, je veux la table de lien apparaisse dans la liste des entités et il y aura deux un à plusieurs relations définies à l'am linktable je raison de définir comme ceci:

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);
    }
}
Était-ce utile?

La solution

Oui. La seule question qui reste pour moi: Qu'en est-il la propriété de clé primaire BlogsBlogPost? Deux options:

  • Vous avez soit une propriété clé distincte comme public int BlogsBlogPostID { get; set; } ou public int ID { get; set; } dans cette entité. Dans ce cas, des combinaisons de (BlogID, BlogPostID) ne doit pas être unique.

  • Ou vous avez une clé composite comprenant (BlogID, BlogPostID). Vous devrez marquer cela avec l'annotation [Key] ou définir API Courant:

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

    (combinaisons de BlogID, BlogPostID) doivent être uniques. Ceci est plus d'un « plusieurs à plusieurs avec des données supplémentaires dans le tableau de lien » type de relation.

Les deux modèles sont possibles. Ce qui à utiliser dépend de vos besoins.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top