CodeFirst: Datenbank kann Nicht geöffnet werden "MyDatabase" die von der Anmeldung angeforderte. Die Anmeldung ist fehlgeschlagen. Login fehlgeschlagen für Benutzer "MyDomain\MyUser'

Also ich habe immer diese Fehlermeldung plötzlich, und ich habe keine Ahnung, wie es zu lösen. MyDomain\MyUser ist zu finden unter server-Benutzer, aber da bin ich mit CodeFIrst, die Datenbank ist noch nicht, also kann ich nicht hinzufügen MyDatabase an den Benutzer.

Hier ist mein code:

ConnectionString:

<add name="MyDatabaseConnection" connectionString="Data Source=myServer; Database=MyDatabase.sdf;Trusted_Connection=True;Persist Security Info=True;Pooling=false" providerName="System.Data.SqlClient" />

Code:

public class MyDbContext: DbContext
{
    public MyDbContext()
        : base("MyDatabaseConnection")
    {
    }

    public DbSet<User> Users { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Configurations.Add(new UserConfiguration());
    }
}


public class UserConfiguration : EntityTypeConfiguration<User>
{
    public UserConfiguration()
    {
        ToTable("User");
        Property(u => u.ID).HasColumnName("UserID").HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
    }
}


protected void Application_Start()
{
    Database.SetInitializer<MyDbContext>(new MyDbContextInitializer());
    using (MyDbContext db = new MyDbContext())
    {
        db.Database.Initialize(false);
    }
    ...
}

public class MyDbContextInitializer : DropCreateDatabaseIfModelChanges<MyDbContext>
{
    protected override void Seed(MyDbContextcontext)
    {
        base.Seed(context);
        SeedMembership();
    }

    private void SeedMembership()
    {
        WebSecurity.InitializeDatabaseConnection(ConfigurationManager.ConnectionStrings["MyDatabaseConnection"].ConnectionString, "System.Data.SqlClient", "User", "UserID", "UserName", true);
        WebSecurity.CreateUserAndAccount("doe1", "password11", new { FirstName = "John", LastName = "Doe" });
    }
}
InformationsquelleAutor RJP | 2012-11-26
Schreibe einen Kommentar