Nie można usunąć atrybutu tożsamości z PK

Muszę zmienić typ danych klucza podstawowego na jednej z moich tabel na ciąg z int (nie powiedziałem, że CHCĘ ...). Migracja generuje ten bit kodu:

AlterColumn("dbo.Venues", "ID", c => c.String(nullable: false, maxLength: 128));

Powoduje to, że serwer SQL skarży się, że typ danych musi być typu int, bigint itp., Ponieważ kolumna jest kolumną tożsamości. Dodałem następujące, ale wydaje się, że nie ma żadnego efektu:

AlterColumn("dbo.Venues", "ID", c => c.Int(identity:false));

Pytanie: Jak uzyskać migrację, aby zmienić typ danych z int na ciąg?

Poniższe może być związane z moim pytaniem, ale niekoniecznie: jedynym kodem wygenerowanym przez migrację jest pierwsza pokazana powyżej AlterColumn. Po uruchomieniu jako natywnie wygenerowana migracja spowodowała, że ​​SQL Server narzekał, że nie może zmienić kolumny, ponieważ istnieją na niej zależności. W rzeczywistości jedyną zależnością jest to, że jest to PK (nie ma tabel, które odwołują się do niej jako FK). Zmodyfikowałem migrację, aby wyglądała następująco, a teraz otrzymuję błąd typu danych, jak wskazano powyżej.

DropPrimaryKey("dbo.Venues");
AlterColumn("dbo.Venues", "ID", c => c.Int(identity:false));
AlterColumn("dbo.Venues", "ID", c => c.String(nullable: false, maxLength: 128));
AddPrimaryKey("dbo.Venues", "ID");

questionAnswers(2)

yourAnswerToTheQuestion