Inicjalizacja danych

0

Cześć.
Piszę aplikacje z ASP.NET MVC, używając Entity frameworka i napotkałam błąd podczas inicjalizacji danych.

sytuacja przedstawia się następująco.

*Kiedy są uruchomione migracje, to po wywołaniu metody seed wyskakuje następujący błąd:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)

Podobny błąd występuje, kiedy nie ma migracji i inicjalizacja odbywa się za pomocą zwykłego inicjalizatora.

*Po uruchomieniu aplikacji, jest normalne połączenie z bazą, da się logować oraz rejestrować.

*Kiedy w innej aplikacji tworzyłam bazę na tej samej zasadzie, na tym samym serwerze, to wszystko działało poprawnie.

Oto moja metoda seed: (która w innej aplikacji działała dobrze)

 
internal sealed class Configuration : DbMigrationsConfiguration<Dane.CrudContext>
    {
        public Configuration()
        {
            AutomaticMigrationsEnabled = false;
            AutomaticMigrationDataLossAllowed = true;

        }

        protected override void Seed(Dane.CrudContext context)
        {
            SeedRoles(context);
            SeedUsers(context);
            
        }

        private void SeedRoles(CrudContext context)
        {
            var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>());

            if (!roleManager.RoleExists("Wlasciciel"))
            {
                var role = new IdentityRole();
                role.Name = "Wlasciciel";
                roleManager.Create(role);
            }
            if (!roleManager.RoleExists("Najemca"))
            {
                var role = new IdentityRole();
                role.Name = "Najemca";
                roleManager.Create(role);
            }

            context.SaveChanges();

        }

        private void SeedUsers(CrudContext context)
        {

            var store = new UserStore<Uzytkownik>(context);
            var manager = new UserManager<Uzytkownik>(store);
            if (!context.Users.Any(u => u.UserName == "Wlasciciel"))
            {

                var user = new Uzytkownik { UserName = "Wlasciciel" };

                var adminresult = manager.Create(user, "12345678");

                if (adminresult.Succeeded)
                    manager.AddToRole(user.Id, "Wlasciciel");
            }
            context.SaveChanges();

        }
    }  

dodam też, że jeśli metoda seed zawiera np.:

var budynek = new Budynek
{
Nazwa = "cos",
Adres = new Adres {KodPocztowy = "32-085", Miasto = "Krakiw", Ulica = "kwiatowa", NrDomu = 6}

        };
        context.Budynki.Add(budynek);
        context.SaveChanges();

to wtedy wszystko działa poprawnie.

Ktoś może pomóc?

0

Cześć
Sprawdź configa ;) porównaj configa a dokładniej connectionString z connectionStringiem z ConsolePackagManagarem gdy uruchamiasz update-database -verbose.
Oraz z connectionStringiem podczas debugowania z obiektu Context.

Łukasz

0

connectionString jest okej

1 użytkowników online, w tym zalogowanych: 0, gości: 1