2009-11-19 7 views
1

J'utilise (évaluation :)) le mode Subsonic ActiveRecord pour accéder à sqLite. Besoin de transaction pour travailler. Des trucs réguliers ... d'ocurse!Passer l'ID généré de la table 1 (clé primaire) à la table 2 (clé étrangère)?

L'extrait suivant explique la logique souhaitée. Je ne pouvais pas trouver le bon exemple dans docs.

 using (TransactionScope ts = new TransactionScope()) 
     { 
      using (SharedDbConnectionScope sharedConnectionScope = new SharedDbConnectionScope()) 
      { 
       // insert data in table 1 with primary key column. Save the id returned for later use. 

       // insert data in table 2 with a foreign key column. Use the Id generated in table 1. 

       // ts.commit here 

      } 
     } 

Veuillez nous aviser. Merci

Répondre

0

Voici ce que je cherchais.

 using (var ts = new TransactionScope()) 
     { 
      using (SharedDbConnectionScope scope = new SharedDbConnectionScope()) 
      { 
       try 
       { 
        document.Save(); 
        documentsDatum.DocumentId = document.Id; 
        documentsDatum.Save(); 

        ts.Complete(); 

       } 
       catch (Exception ex) 
       { 

        throw new Exception("trx failed " + ex.Message, ex); 
       } 
      } 
     } 
Questions connexes