[英]In EF Core, how to check whether a migration is needed or not?
我在 Xamarin.iOS 應用程序中使用 Entity Framework Core。
在包含在 iOS 應用程序和其他應用程序之間共享的代碼 (.netstandard 2.0) 的核心項目中,我想知道是否需要遷移,以便我也可以執行一些其他操作。
這是上下文:
public void Initialize()
{
using (var dbContext = new MyDbContext(m_dbContextOptions))
{
--> bool isNeeded = demoTapeDbContext.Database.IsMigrationNeeded()
demoTapeDbContext.Database.Migrate();
}
}
我發現最接近的是調用方法GetPendingMigrationsAsync()
並檢查掛起遷移的數量,但我不確定這是否是在實體框架中進行此類檢查的最安全方法:
public async Task InitializeAsync()
{
using (var dbContext = new MyDbContext(m_dbContextOptions))
{
bool isMigrationNeeded = (await demoTapeDbContext.Database.GetPendingMigrationsAsync()).Any();
demoTapeDbContext.Database.Migrate();
}
}
我在DbInitializer
使用以下代碼:
public static class DbInitializer
{
public static void Initialize(ApplicationDbContext context)
{
if(context.Database.GetPendingMigrations().Any()){
context.Database.Migrate();
}
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.