My steps:
1) Create my database in SSMS with the query
/* Execute in SQL Server Management Studio prior to building data model(s) */
C
Your database context definition should look something like this:
public class ApplicationDbContext: DbContext
{
public ApplicationDbContext() : base("connectionString")
{
}
public DbSet Scores { get; set; }
public DbSet GameLogs { get; set; }
public DbSet IPs { get; set; }
public DbSet BannedIPs { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// modelBuilder.Conventions.Remove();
}
}
it inherits from DbContext and defines the structure of your object model.
Your DbSet(s) should be mapped to your classes:
As you can see the constructor needs a connection string:
public ApplicationDbContext() : base("connectionString")
{
}
which must be defined in your web.config (or app.config):
inside section. I've used localhost here but, of course, you can use your remote database.
Now from Package Manager Console you must have enabled the migration with Enable-Migrations.
This command will build the configuration file which should look something like this:
internal sealed class Configuration : DbMigrationsConfiguration
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(MigratingDatabase.SchoolContext context)
{
}
}
what I can see in your Configuration class it inherits from the database context:
DbMigrationsConfiguration
but it is trying to seed a different object:
protected void Seed (SnakeGame.Migrations.SnakeDB context)
{
}
and, I guess, it should be:
protected void Seed (SnakeGame.Models.ApplicationDbContext context)
{
}
when everything is in place you can run:
Update-Database -Verbose
and it should build the database for you.
Another thing you have to do to enable the migration is change the constructor of the configuration class:
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
using AutomaticMigrationsEnabled = true.