Frage

Ich habe einen Linktable namens namen so was?:

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);
    }
}
War es hilfreich?

Lösung

Ja. Die einzige Frage, die für mich übrig bleibt, ist: Was ist mit der primären Schlüsseleigenschaft von BlogsBlogPost? Zwei Optionen:

  • Sie haben entweder eine eigene Schlüsseleigenschaft wie public int BlogsBlogPostID { get; set; } oder public int ID { get; set; } in dieser Entität. In diesem Fall Kombinationen von ((BlogID, BlogPostID) Muss nicht einzigartig sein.

  • Oder Sie haben einen zusammengesetzten Schlüssel, der aus (besteht aus (BlogID, BlogPostID). Sie müssten dies mit dem markieren [Key] Annotation oder definieren Sie es in fließender API:

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

    Jetzt Kombinationen von ((BlogID, BlogPostID) muss einzigartig sein. Dies ist eher ein "Viele zu viele Beziehung zu zusätzlichen Daten in der Link-Tabelle" Art der Beziehung.

Beide Modelle sind möglich. Was zu bedienen ist, hängt von Ihren Geschäftsbedürfnissen ab.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top