Par défaut dans EF cette table de jointure n'apparaît pas comme une entité plutôt que vous aurez un plusieurs à plusieurs qui apparaissent comme deux propriétés de navigation
-à-dire
Person.Stores
Store.People
Si vous vouloir construire une relation de plusieurs à plusieurs sans récupérer les entités, puis attacher des entités de bout est le meilleur moyen.
var person = // you already have the person
var store = new Store{StoreID = 5} // you know the storeID
ctx.AttachTo("Stores", store);
ctx.AttachTo("People", person); // assuming the person isn't already attached
person.Stores.Add(store);
ctx.SaveChanges();
Le seul problème avec ce code est-il échouera si la relation existe déjà, vous devez donc être sûr que vous créez une nouvelle relation
Pour en savoir plus sur l'utilisation des entités Stub comme cette vérification dehors my post. J'espère que cela aide.
Alex
Modifier de OP:
Depuis que je suis en utilisant EF4, j'ai utilisé le code suivant pour supprimer la chaîne de l'attacher (grâce à la pointe 13 du lien).
var person = // you already have the person
var store = new Store{StoreID = 5} // you know the storeID
ctx.Stores.Attach(store);
person.Stores.Add(store);
ctx.SaveChanges();
Vous êtes une bouée de sauvetage! Attacher et Supprimer correspondant; brillant! –
c'est génial. Merci d'avoir partagé!! –