2

J'ai un contexte d'entité qui comprend trois tableaux. Le premier est une table qui contient des produits, la seconde contient des recettes. La table de jointure contient des champs pour les ID dans la table des produits et des recettes, ainsi qu'un champ 'bit' appelé 'featured'.Entity Framework Many-to-Many avec champ supplémentaire sur l'adhésion Table

Je l'ai cherché et trouvé aucun exemple sur la façon d'insérer seulement la façon de sélectionner contre ce type de anyone scenario.Does ont des suggestions sur la façon dont cela peut être fait? Merci d'avance pour votre aide.

+0

Pouvez-vous s'il vous plaît indiquer clairement votre objectif en 1 phrase? –

+2

Je voudrais insérer dans une structure de données many-to-many qui a des champs supplémentaires sur la table de jointure. –

Répondre

2

Je ne l'ai pas C# pendant un certain temps, donc je ne suis pas sûr que ma syntaxe est valide, de toute façon cela devrait être l'idée:

Products product = new Products { Blah, Blah, Blah }; 

bool flag = false; 
for (int i = 0; i < 5; i++) 
{ 
    Products_Receipes pr = new Products_Receipes 
            { Products = product, IsFeatued = flag }; 
    pr.Receipes.Add(new Receipes()); 
    pr.Receipes.Add(new Receipes()); 
    flag = !flag; 
} 
Context.SaveChanges(); 

Et si ce qui précède ne fonctionne pas, alors laissez-moi Il suffit de dire que vous devez créer l'élément principal (Produits ou Reçus), puis lorsque vous créez le Products_Receipes définir la propriété Products/Receipes ci-dessus (ou par Products.Pruducts_Receipes.Add(pr)), puis ajouter l'autre côté de la relation de la même manière .

+0

merci! je vais essayer. bien c –

+0

cela a fonctionné. Merci pour votre aide –

+0

Envisager de voter/marquer la question comme ayant été répondue. – Shimmy

0

Une observation est que votre diagramme est structuré plus comme un schéma de base de données qu'un diagramme d'entité. Les entités doivent être conçues pour répondre aux besoins de l'entreprise indépendamment de la structure de stockage de données afin que vous puissiez utiliser n'importe quelle base de données pour stocker les données.

Je crois que vous pouvez supprimer l'entité « Link » et mettre en place un à plusieurs ou plusieurs à plusieurs associations entre les produits et recettes. Ensuite, configurez votre schéma DB avec la table de liens et effectuez le mappage de table en conséquence.

+0

Le seul problème avec ceci est la table de jointure a des colonnes supplémentaires en elle. Voici un autre exemple, où la table de jointure contient des données supplémentaires: http://thedatafarm.com/LearnEntityFramework/files/media/image/WindowsLiveWriter/ManytoManyRelationshipsInEntityDataMo_852F/m2m3_thumb.png –