inicjalizator bazy danych

0

Mam w inicjalizatorze bazy danych ustawione id dla tabeli Kategoria kolejno 1, 2, 3, a mimo to gdy sprawdzam wartości id w bazie to nie są one równe 1, 2, 3 tylko zwiększają się za każdym razem gdy kompiluje. Byłbym wdzięczny za rozwiązanie tego problemu Oto kod:

public static void SeedKursyData(KursyContext context)
{
var kategorie = new List<Kategoria>
{
new Kategoria() { KategoriaId = 1, NazwaKategorii = "asp.net mvc", NazwaPlikuIkony = "aspnet.png", OpisKategorii = "Opis asp.net mvc"},
new Kategoria() { KategoriaId = 2, NazwaKategorii = "javascript", NazwaPlikuIkony = "javascript.png", OpisKategorii = "Opis javascript"},
new Kategoria() { KategoriaId = 3, NazwaKategorii = "php", NazwaPlikuIkony = "php.jpg", OpisKategorii = "Opis php"}
};

        kategorie.ForEach(k => context.Kategorie.AddOrUpdate(k));
        context.SaveChanges();


        var kursy = new List<Kurs>
        {
            new Kurs() { KursId = 1, AutorKursu = "Tomek", TytulKursu = "asp.net", KategoriaId = 1, CenaKursu = 99, Bestseller = true, NazwaPlikuObrazka = "obrazekaspnet.png", DataDodania = DateTime.Now, OpisKursu = "Opis kursu1"},
            new Kurs() { KursId = 2, AutorKursu = "Jurek", TytulKursu = "javascript", KategoriaId = 1, CenaKursu = 120, Bestseller = true, NazwaPlikuObrazka = "obrazekjavascript.png", DataDodania = DateTime.Now, OpisKursu = "Opis kursu2"},
            new Kurs() { KursId = 3, AutorKursu = "Wojtek", TytulKursu = "csharp", KategoriaId = 1, CenaKursu = 120, Bestseller = true, NazwaPlikuObrazka = "obrazekcsharp.png", DataDodania = DateTime.Now, OpisKursu = "Opis kursu3"}
        };

        kursy.ForEach(k => context.Kursy.AddOrUpdate(k));
        context.SaveChanges();


    }
0

zapewne pola id są autoincrement i jako takie nie startują za każdym razem od 1 tylko od kolejnej nieprzypisanej (dla purystów to był skrót myślowy) wartości. Jest to normalne zachowanie i pożądane i przypisywanie na siłę wartości nic to nie zmieni. Jeśli chciałbyś mieć od 1 to musiałbyś albo tworzyć tabelę od nowa albo zrobić coś takiego https://stackoverflow.com/questions/510121/reset-autoincrement-in-sql-server-after-delete . Nie polecam ani jednego, natomiast przyjęcie do wiadomości, że POLA UNIKALNE SĄ UNIKALNE i się nie powtarzają NAWET PO USUNIĘCIU REKORDU pozwoli Ci w przyszłości zaoszczędzić sobie wiele nerwów i kombinowania.

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