2016-05-16 1 views
1

Les DbSet s DbContext sont exécutées mais l'une des tables n'est pas créée. Ensuite, la méthode seed démarre en remplissant toutes les tables avec des données sans la table qui n'a pas été créée.Comment mettre DbSet et Seed en une transaction (Entity Framework)?

Existe-t-il un moyen de ne pas exécuter la méthode d'amorçage et de rétablir les tables créées et toute la base de données créée si l'une des tables du DbContext n'a pas été créée?

+0

Avec le code premier, pour ajouter une nouvelle table dans DB, vous pouvez utiliser le code première migration pour le faire. Plus de détails voir https://msdn.microsoft.com/fr-fr/data/jj591621.aspx – yyou

+0

Je voulais dire Initial Migration avec Initial Seed en une seule transaction. – DenisSuarez

Répondre

0

Le niveau d'isolation et de son champ d'application est de votre choix et la nature de votre requête

Public Shared Function Create(DbContext As DbContext) As YourDBname 
    Dim _txoptions As New TransactionOptions() 
    _txoptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted 
    Dim _tx = New Transactions.TransactionScope(TransactionScopeOption.RequiresNew, _txoptions) 

    Return New YourDBname(DbContext) 
End Function