2010-06-02 5 views
1

J'ai trois tables dans ma base de données: Une table A, une table B et une table ABMapping many-to-many. Pour des raisons de simplicité, A et B sont associés à des colonnes d'identité; ABMapping n'a que deux colonnes: AId et BId.Entity Framework 4 & WCF Service de données: N: M mapping

J'ai construit un modèle Entity Framework 4 à partir de ceci, et il a correctement identifié le mappage N: M entre A et B. J'ai ensuite construit un service de données WCF basé sur ce modèle EF. J'essaie de consommer ce service de données WCF. Malheureusement, je n'arrive pas à comprendre comment obtenir une correspondance entre As et Bs pour mapper vers la base de données. J'ai essayé quelque chose comme ceci:

A a = new A(); 
B b = new B(); 
a.Bs.Add(b); 
connection.SaveChanges(); 

Mais cela ne semble pas avoir fonctionné. Des indices? Qu'est-ce que je rate?

+0

Je crois que vous manquez un 'connection.AddObject (a);' –

Répondre

1

Vous devez effectuer les opérations suivantes:

A a = new A(); 
B b = new B(); 

connection.AddObject("ASet", a); 
// if you have the generated code, you can use the helper method generated 
// on the context - something like connection.AddToASet(a); 

connection.AddRelatedObject(a, "Bs", b); 
connection.SaveChanges();