2016-05-16 56 views
1

DbContextDbSet s被執行,但其中一個表沒有被創建。然後,種子方法運行填充所有表中的數據,但沒有未創建的表。如何將DbSet和Seed放入一個事務(實體框架)?

如果DbContext中的其中一個表沒有被創建,有沒有辦法執行種子方法並恢復創建的表和所有創建的數據庫?

+0

隨着代碼首先,本質在數據庫中添加一個新的表,你可以使用代碼首先遷移做到這一點。更多細節請參閱https://msdn.microsoft.com/en-us/data/jj591621.aspx – yyou

+0

我的意思是在一次事務中使用初始種子進行初始遷移。 – DenisSuarez

回答

0

的隔離級別,其範圍是您的喜好和您的查詢

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