2016-05-16 4 views
1

Die DbContext 's DbSet s werden ausgeführt, aber eine der Tabellen wird nicht erstellt. Dann wird die Seed-Methode ausgeführt, die alle Tabellen mit Daten füllt, ohne die Tabelle, die nicht erstellt wurde.Wie setzt man DbSet und Seed in eine Transaktion (Entity Framework)?

Gibt es eine Möglichkeit, die Seed-Methode nicht auszuführen und die erstellten Tabellen und die gesamte erstellte Datenbank wiederherzustellen, wenn eine der Tabellen in DbContext nicht erstellt wurde?

+0

Mit Code zuerst eine neue Tabelle in DB hinzuzufügen, Sie Code erste Migration, das zu tun verwenden können. Weitere Details finden Sie unter https://msdn.microsoft.com/en-us/data/jj591621.aspx – yyou

+0

Ich meinte Initial Migration mit Initial Seed in einer Transaktion. – DenisSuarez

Antwort

0

Die Isolation Level und ihr Umfang Ihrer Präferenz und die Art der Anfrage

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 
Verwandte Themen