2010-01-26 9 views
2

J'ai de la difficulté à l'obtenir. J'ai besoin d'obtenir les valeurs que j'ai ajoutées à une entité de table à travers la méthode InsertOnSubmit. Cependant, je n'ai pas encore appelé SubmitChanges sur la table. Donc, j'ai ceci dans une boucle: mdmDC.tblMDMListItems.InsertOnSubmit (listItemsTable);Linq to SQL: comment obtenir des valeurs ajoutées via InsertOnSubmit mais avant SubmitChanges?

Mais je voudrais interroger mdmDC.tblMDMListItems pour certaines valeurs entrées jusqu'ici, mais je ne peux pas sembler le faire. Même après ce code au-dessus du compte sur mdmDC.tblMDMListItems est 0.

Comment puis-je obtenir les valeurs ajoutées avant SubmitChanges?

Merci!

Répondre

2

Utilisez DataContext.GetChangeSet et la propriété ChangeSet.Inserts.

// db is DataContext 
ChangeSet cs = db.GetChangeSet(); 
foreach(var item in cs.Inserts) { 
    // do something 
} 

Notez que item n'est pas fortement typé. En fait, cela ne peut pas être parce que le DataContext pourrait suivre des éléments de types différents correspondant à plusieurs tables.