如何从Entity Framework 6中的__MigrationHistory读取所有数据

时间:2018-01-23 04:47:23

标签: c# sql-server entity-framework entity-framework-6

我想读取__MigrationHistory表中的数据,该表在Entity Framework 6中自动创建。这可能吗?那么从Migration History表中读取数据的可行方法是什么?那要在C#

2 个答案:

答案 0 :(得分:1)

  

从“迁移历史记录”表中读取数据的可能方法是什么?

有一个特殊的SQL命令只是用于读取表中的数据:SELECT

答案 1 :(得分:0)

我真的不想将迁移历史记录表完全挂钩到EF中,因为我不希望人们写入或更新该表,而这些表应仅由自动/手动迁移来处理。

因此,如果我需要访问它,我将使用SQL字符串来执行它,以完全执行我需要的操作

    class MigrationHistoryEntry
    {
        public string MigrationId { get; set; }
        public string ContextKey { get; set; }
        public byte[] Model { get; set; }
        public string ProductVersion { get; set; }
    }

    public void GetMigrations()
    {
        const string GetMigrationSql = "SELECT * FROM __MigrationHistory";

        var migrations = Context.Database.SqlQuery<MigrationHistoryEntry>(GetMigrationSql);
    }