У меня есть проект.Я хочу добавить идентификацию к нему.Но возникает ошибка.Я постараюсь на своем примере описать создание нового проекта без идентичности.Создайте новый класс "Пользователь".
public class User
{
public int Id { get; set; }
public string Surname { get; set; }
}
Создайте контекст
public class UserContext : DbContext
{
public UserContext() : base("DefaultConnection")
{ }
}
Обновите базу данных и добавьте 3 элемента.
Далее я хочу добавить личность.
PM> Install-Package Microsoft.AspNet.Identity.Owin
PM> Install-Package Microsoft.AspNet.Identity.EntityFramework
PM> Install-Package Microsoft.Owin.Host.SystemWeb
Класс обновления
public class User : IdentityUser
{
public string Surname { get; set; }
}
Контекст обновления
public class UserContext: IdentityDbContext<User>
{
public UserContext() : base("DefaultConnection")
{ }
}
Далее: Добавить миграцию
Error:
Identity column 'Id' must be of data type int, bigint, smallint, tinyint,
or decimal or numeric with a scale of 0, unencrypted,
and constrained to be nonnullable.
Обновление файлов миграции
//AlterColumn("dbo.AspNetUsers", "Id", c => c.Int(nullable: false, identity: true));
DropColumn("dbo.AspNetUsers", "Id");
AddColumn("dbo.AspNetUsers", "Id", c => c.String(nullable: false, maxLength: 128));
Далее: update-database
Error:
The CREATE UNIQUE INDEX statement terminated because a duplicate key
was found for the object name 'dbo.AspNetUsers'
and the index name 'PK_dbo.AspNetUsers'.
The duplicate key value is ().
Как решить проблему?