Ich habe 3 Tabellen,Entity Framework hinzugefügt Datensatz in viele zu viele Zuordnungstabelle
1) Kunde (ID, Name, bla bla)
2) CustomerGroups (GroupId, Gruppenname)
3) CustomerInGroups (CustomerId, GroupId)
using (var context = DataObjectFactory.CreateContext())
{
context.Customers.Add(entity);
context.SaveChanges();
return entity.Id;
}
Wie füge ich einen Datensatz in CustomerInGroups? EntityFramework erzeugt keine Einheiten für so many-to-many-Zuordnungstabellen
Edit:
Sowohl die Id-Spalten in dem Kunden und CustomerGroups auf Autoinkrement eingestellt sind.
Also in meinem CustomersGroup Tisch, ich habe
Id Name
----------------------------
1 Normal
2 VIP
Ich habe versucht, dies zu tun, wie einem der Plakate vorgeschlagen:
entity.CustomerGroups = new List<CustomerGroup>
{
new CustomerGroup {Id = 2 }
};
context.Customers.Add(entity);
context.SaveChanges();
return entity.Id;
Allerdings, wenn ich dies tat, statt der Schaffung eines Datensatzes in die Zuordnungstabelle wie folgt aus:
CustomerId GroupId
----------------------------
1 2
Was ich bekam, war
CustomerInGroups
CustomerId GroupId
----------------------------
1 3
CustomerGroups
Id Name
----------------------------
1 Normal
2 VIP
3 NULL
Es erstellt tatsächlich einen weiteren Eintrag in meinem CustomerGroups Tabelle, die nicht das, was ich
Ist Rahmen Entität nicht automatisch die Tabelle für Sie beitreten zu aktualisieren, wenn Sie einen Kunden zu einer Gruppe zuweisen oder umgekehrt? Sie müssen keine separate Entität erstellen, wenn der Join keine Nutzlast hat (dh ein Join, der _only_ Fremdschlüssel ist) – Daniel