У меня есть этот первоначальный переход:Несколько столбцов идентичности, указанные для таблицы исключения
namespace DataAccess.Migrations
{
using System.Data.Entity.Migrations;
public partial class init : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.SchoolclassCodes",
c => new
{
Schoolclass = c.Int(nullable: false, identity: true),
Type = c.String(),
})
.PrimaryKey(t => t.Schoolclass);
}
public override void Down()
{
DropTable("dbo.SchoolclassCodes");
}
}
}
Свойство schoolclass имеет тип данных целого и первичного ключа.
У меня уже есть данные, заполненные в таблице schoolclassCode.
Теперь я изменил тип данных от целого в строку и создал другую миграцию:
namespace DataAccess.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class changedatattypeandaddedkeyId : DbMigration
{
public override void Up()
{
DropPrimaryKey("dbo.SchoolclassCodes");
AddColumn("dbo.SchoolclassCodes", "Id", c => c.Int(nullable: false, identity: true));
AlterColumn("dbo.SchoolclassCodes", "Schoolclass", c => c.String());
AddPrimaryKey("dbo.SchoolclassCodes", "Id");
}
public override void Down()
{
DropPrimaryKey("dbo.SchoolclassCodes");
AlterColumn("dbo.SchoolclassCodes", "Schoolclass", c => c.Int(nullable: false, identity: true));
DropColumn("dbo.SchoolclassCodes", "Id");
AddPrimaryKey("dbo.SchoolclassCodes", "Schoolclass");
}
}
}
Когда я бегу update-database
я получаю исключение, что несколько столбцов идентичности, не допускаются к столу ,
Но у меня нигде не определено несколько ключей.
Кто-нибудь знает, как это решить?
Это известная проблема - вам нужно будет обновить таблицу. См. Ответ Get's здесь: http://stackoverflow.com/questions/20153233/cant-remove-identity-attribute-from-pk –