我想得到"版本"数据库的数据,即MigrationId
表中最后一行的__EFMigrationHistory
。
由于在没有DbSet
的情况下无法在Entity Framework Core中运行原始SQL,我该如何获取此信息?
答案 0 :(得分:3)
在EF Core 1.1中,您可以使用以下内容。
var currentMigration = dbContext.Database.GetAppliedMigrations().LastOrDefault();
答案 1 :(得分:2)
您有一个选项是将__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();