データベースの「バージョン」、すなわちのテーブルの最後の行のMigrationId
を取得したいとします。現在のMigrationIdを取得する
DbSet
なしでEntity Framework Coreで未加工のSQLを実行することはできません。この情報はどのように入手できますか?
データベースの「バージョン」、すなわちのテーブルの最後の行のMigrationId
を取得したいとします。現在のMigrationIdを取得する
DbSet
なしでEntity Framework Coreで未加工のSQLを実行することはできません。この情報はどのように入手できますか?
でEF Core 1.1では、以下を使用できます。
var currentMigration = dbContext.Database.GetAppliedMigrations().LastOrDefault();
1つのオプションは、文脈に__EFMigrationsHistory
テーブルを追加することです。モデルを作成し、このような何か:
[Table("__EFMigrationsHistory")]
public class MigrationHistory
{
[Key]
[MaxLength(150)]
public string MigrationId { get; set; }
[MaxLength(32)]
public string ProductVersion { get; set; }
}
がモデルにDbSet
を追加します。
public DbSet<MigrationHistory> MigrationHistories { get; set; }
そして、あなたは他のと同じように、今あなたがテーブルを照会することができた:
var lastMigration = context.MigrationHistories
.OrderBy(mh => mh.MigrationId)
.Last();
私は1.1を使用していますが、私はMicrosoft.EntityFrameworkCoreを使用して '追加@ghosttieデータベース – ghosttie
にGetAppliedMigrations方法が表示されていません;' – bricelam