2009-11-06 5 views
0

Lorsque j'ai une entité qui contient une référence à une entité singulière, je peux créer une EntityKey et affecter cette valeur à la propriété EntityNameReference.Value. Cela fonctionne parfaitement et comme un charme.Relations 1-n et EntityKey avec EntityFramework

Si j'ai une entité qui contient une référence à plusieurs entités, je ne peux pas réussir à faire la même chose. Supposons une entité appelée Application qui possède une propriété qui contient des références aux modules (donc Application a une propriété List appelée Modules).

Comment puis-je attacher par programme des clés d'entité à ce type de propriété?

J'ai essayé quelque chose comme ça, sans aucun succès:

foreach(int idModule in selectedModules) 
{ 
Module m = new Module(); 
m.EntityKey = new EntityKey("myModel.ModuleSet", "idModule", idModule); 
ctx.Attach(m); //Here I have an exception 
app.Modules.Add(m); 

Merci beaucoup pour votre aide. Marco

+0

Peux-tu être plus précis? –

Répondre

0

Est-ce que Module a la propriété de navigation d'application? Cela devrait.

Je voudrais écrire quelque chose comme: "une exception"

foreach(int idModule in selectedModules) 
{ 
    Module m = new Module(); 
    m.EntityKey = new EntityKey("myModel.ModuleSet", "idModule", idModule); 
    m.Application = app; 
    app.Modules.Add(m); 
} 
ctx.SaveChanges();