MVC4 Daten mit Many to Many-Beziehung speichern

Viele zu viele Beziehung

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{
modelBuilder.Entity<Company>()
    .HasMany(c => c.Tags)
    .WithMany(t => t.Companies)
    .Map(m =>
    {
        m.MapLeftKey("Companyid");
        m.MapRightKey("tagid");
        m.ToTable("CompanyTags");
    }
}

Firma hinzufügen

var company = new Company() { Name = "FooBar Inc" };

Tag hinzufüge

int tagId = _db.Tags.Where(x => x.Title == tag).Select(x => x.Id).SingleOrDefault();
if (tagId==0)
   company.Add(new Tag { Title = tag});
else
    ?????? //still create a relationship in CompanyTags (companyid,tagid)


context.Companies.Add(company);
context.SaveChanges();

So konfigurieren Sie dies, wenn eine neue Firma erstellt wird und wenn das Tag in der Tag-Tabelle vorhanden ist. Erstellen Sie das Tag nicht, aber erstellen Sie trotzdem die Beziehung in der CompanyTags-Tabelle

UPDATE ohne if-Bedingung, wenn der Benutzer zum Beispiel den Tag title dog hinzufügt und wenn es existiert, wird ein neuer Datensatz in der Tag-Tabelle erstellt. Stattdessen möchte ich, dass kein Tag in der Tag-Tabelle erstellt wird, sondern nur in der Zuordnungstabelle (siehe Abbildung unten).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage