Entity framework 无NuGet的代码优先迁移

Entity framework 无NuGet的代码优先迁移,entity-framework,ef-code-first,nuget,entity-framework-migrations,Entity Framework,Ef Code First,Nuget,Entity Framework Migrations,我想知道如何使用Entity Framework的代码优先迁移而不使用NuGet(因此没有通过package manager控制台的命令) 我尝试了以下方法: 数据库上下文 迁移配置 如您所见,我编写了一个上下文、迁移配置和迁移本身。 对于迁移,我不确定是否正确实现了imiglationMetadata。对于目标,我只使用id,因为我不想进行任何自动迁移,也不想使用PackageManager控制台。我想,这里应该没问题吧 我在Up方法上设置了一个断点并对其进行了调试,但它并没有停止,这意味着它

我想知道如何使用Entity Framework的代码优先迁移而不使用NuGet(因此没有通过package manager控制台的命令)

我尝试了以下方法:

数据库上下文 迁移配置 如您所见,我编写了一个上下文、迁移配置和迁移本身。 对于迁移,我不确定是否正确实现了
imiglationMetadata
。对于目标,我只使用id,因为我不想进行任何自动迁移,也不想使用PackageManager控制台。我想,这里应该没问题吧

我在
Up
方法上设置了一个断点并对其进行了调试,但它并没有停止,这意味着它不会被执行


因此,我想知道在手动编写所有内容时如何使用EF代码优先迁移。

我不明白您为什么要避免使用Nuget控制台-Nuget就在这里,这是一个现实,您将很难完成很多工作,同时现在和将来都要避免使用它……嗯,这只是我想尝试的东西,但还没有实现:)@Damien_The_unsiver另一点是(我忘了):模型是用接口制作的,似乎内置自动模型生成并没有按预期工作。试试看
public sealed class MyContext : DbContext
{
  private const string ConnectionStringName = "MyDatabase";

  public MyContext()
    : base(ConnectionStringName)
  {}

  protected override void OnModelCreating(DbModelBuilder modelBuilder)
  {
    SetupMyModel(modelBuilder);
  }
}
public class MyMigrationConfiguration : DbMigrationsConfiguration<MyContext>
{
  public MyMigrationConfiguration()
  {
    AutomaticMigrationsEnabled = false;
  }
}
System.Data.Entity.Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, MyMigrationConfiguration>());
public class InitialDatabaseCreation : DbMigration, IMigrationMetadata
{
  public override void Up()
  {
    CreateTable("dbo.MyModel",
      c => new
      {
        Id = c.Guid(false, true),
        SomeProperty = c.Int(false)
      })
      .PrimaryKey(x => x.Id);
  }

  public override void Down()
  {
    DropTable("dbo.MyModel");
  }

  public string Id
  {
    get { return "0001_InitialDatabaseCreation"; }
  }

  public string Source
  {
    get { return null; }
  }

  public string Target
  {
    get { return Id; }
  }
}