Entity Framework ajout d'enregistrement dans de nombreux de nombreux la table de mappage

J'ai 3 tables,

1) Client (Id, Nom, bla bla)

2) CustomerGroups (GroupId, GroupName)

3) CustomerInGroups (Code Client, GroupId)

using (var context = DataObjectFactory.CreateContext())
{                
    context.Customers.Add(entity);
    context.SaveChanges();
    return entity.Id;
}

Comment puis-je ajouter un enregistrement dans CustomerInGroups? EntityFramework ne génère pas des entités telles plusieurs-à-plusieurs tables de mappage

Edit:

À la fois la colonne d'Id de la Clientèle et CustomerGroups sont définies à l'auto incrément.

Donc, à mon CustomersGroup table, j'ai

Id          Name
----------------------------
1           Normal
2           VIP

J'ai essayé de faire ce que l'une des affiches proposées:

entity.CustomerGroups = new List<CustomerGroup>
{
    new CustomerGroup {Id = 2 }
};
context.Customers.Add(entity);
context.SaveChanges();
return entity.Id;

Cependant, quand j'ai fait cela, au lieu de créer un enregistrement dans la table de mappage comme ceci:

CustomerId          GroupId
----------------------------
1                   2

Ce que j'ai obtenu était

CustomerInGroups
    CustomerId          GroupId
    ----------------------------
    1                   3

CustomerGroups
    Id          Name
    ----------------------------
    1           Normal
    2           VIP
    3           NULL

Il a réellement créé une autre entrée dans mon CustomerGroups table, ce qui n'est pas ce que je veux

Est entity framework pas automatiquement la mise à jour de la table de jointure pour vous lorsque vous assigner un client à un groupe ou vice-versa? Vous n'avez pas besoin de créer une entité distincte si la jointure n'a pas la charge utile (c'est à dire une jointure clés étrangères)

OriginalL'auteur Null Reference | 2013-03-07