Det första problemet är att EF4.1 vill skapa en databas som heter som din DbContext. Hos oss heter din databas något med ditt kundnummer först, och du kan inte döpa din DbContext till det.

Lösningen på detta är att tvinga din DbContext att använda en ConnectionString. För att göra det så skriv till följande till din DbContext:

   public MyDbContext() : base("ConnectionStringName")

Det vill säga se till att konstruktorn till din DbContext ärver av sig själv med namnet på din ConnectionString som parameter.

Nästa problem är att EntityFramework CodeFirst vill köra DropAndCreate på databasen när du förändrar strukturen på dina klasser. Vi stödjer inte detta och därför måste du få EntityFramework att istället bara återställa tabellerna. Nu finns det ingen sådan lösning out-of-the-box, men däremot finns det en att installera på NuGet.

Med den installerad ser klassen ut så här:

namespace MyProject.Models 
{
    public class MyDbContext : DbContext
    {
        public MyDbContext() : base("ConnectionStringName")
        {
            System.Data.Entity.Database.SetInitializer(new DontDropDbJustCreateTablesIfModelChanged<MyProject.Models.MyDbContext>());
        }
        public DbSet<MyProject.Models.MyClass> Elephants { get; set; }
    } 
}

Så enkelt kan det vara när man vet hur man gör. Lycka till!

Tack till Stefan Bergfeldt för informationen