2009-04-07 6 views
4

J'ai du code où j'utilise un DataContext Linq-To-SQL pour ajouter et modifier des enregistrements dans une table.Puis-je accéder à la liste des enregistrements InsertOnSubmit à partir d'un DataContext linq-to-sql?

Je me suis heurté à une situation où j'ajoute quelques enregistrements via InsertOnSubmit, puis je veux modifier un enregistrement .. mais cet enregistrement est peut-être déjà dans le tableau, ou il peut être un de ceux que je suis insertion. Donc ceci:

db.MyTable.Single(t => t.Id == WhichId).Name="foobar"; 

ne fonctionne pas, car je ne pourrais pas avoir fait insérer le disque avec un identifiant de WhichId encore.

Je ne veux vraiment pas SubmitChanges() jusqu'à ce que j'ai fait tout ce que je vais faire. Le DataContext doit conserver une liste d'enregistrements à insérer dans SubmitChanges() - puis-je accéder à cette liste? Je pense à quelque chose comme ceci:

(db.MyTable.SingleOrDefault(t => t.Id == WhichId) ?? 
db.[list of records to be inserted].Single(t => t.Id == WhichId) 
).Name="foobar"; 

La question est, est-ce que je peux mettre où ces crochets sont?

Répondre

Questions connexes