C# ASP.NET MVC 6-为实体框架7中的主键分配NOTNULL

C# ASP.NET MVC 6-为实体框架7中的主键分配NOTNULL,c#,asp.net,asp.net-core-mvc,entity-framework-core,C#,Asp.net,Asp.net Core Mvc,Entity Framework Core,代码: 我收到错误消息,因为无法在表'AspNetRoles'中的nullable列上定义主键约束。 MigrationBuilder的命名空间-Microsoft.Data.Entity.Relational.Migrations.Builders 如何在ASP.NET MVC 6中将NOT NULL分配给上述代码对于非常临时的解决方案,可以先编写一些代码EF实体并进行升级,我注释了迁移脚本中处理这些键的部分 显然,这会破坏ASP.NET用户和角色表中的关系,并且不是一个可行的长期解决方案,我

代码:

我收到错误消息,因为
无法在表'AspNetRoles'中的nullable列上定义主键约束。

MigrationBuilder的命名空间-
Microsoft.Data.Entity.Relational.Migrations.Builders


如何在ASP.NET MVC 6中将
NOT NULL
分配给上述代码对于非常临时的解决方案,可以先编写一些代码EF实体并进行升级,我注释了迁移脚本中处理这些键的部分

显然,这会破坏ASP.NET用户和角色表中的关系,并且不是一个可行的长期解决方案,我假设它会被修复,或者有人会在某个时候找到真正的解决方案

我注释掉了一些行(一旦我改变了角色,我在用户身上也会遇到同样的错误)


这可能是EF7早期版本中的一个bug或缺少的功能

我假设您使用的是代码优先的方法?是的,这是代码优先的方法。我在下面的文章中看到了吗?在AspNetRoles类中,您需要Id上的必需属性。您也可以向我们展示您的POCO类吗?
migrationBuilder.AddPrimaryKey("AspNetRoles", "PK_AspNetRoles", new[] { "Id" }, isClustered: true);
        //migrationBuilder.AddPrimaryKey("AspNetRoles", "PK_AspNetRoles", new[] { "Id" }, isClustered: true);

        //migrationBuilder.AddPrimaryKey("AspNetUsers", "PK_AspNetUsers", new[] { "Id" }, isClustered: true);
        ....
        //migrationBuilder.AddForeignKey(
        //    "AspNetRoleClaims",
        //    "FK_AspNetRoleClaims_AspNetRoles_RoleId",
        //    new[] { "RoleId" },
        //    "AspNetRoles",
        //    new[] { "Id" },
        //    cascadeDelete: false);

        //migrationBuilder.AddForeignKey(
        //    "AspNetUserClaims",
        //    "FK_AspNetUserClaims_AspNetUsers_UserId",
        //    new[] { "UserId" },
        //    "AspNetUsers",
        //    new[] { "Id" },
        //    cascadeDelete: false);

        //migrationBuilder.AddForeignKey(
        //    "AspNetUserLogins",
        //    "FK_AspNetUserLogins_AspNetUsers_UserId",
        //    new[] { "UserId" },
        //    "AspNetUsers",
        //    new[] { "Id" },
        //    cascadeDelete: false);
        ...
        //migrationBuilder.DropForeignKey("AspNetRoleClaims", "FK_AspNetRoleClaims_AspNetRoles_RoleId");

        //migrationBuilder.DropPrimaryKey("AspNetRoles", "PK_AspNetRoles");

        //migrationBuilder.AddForeignKey(
        //    "AspNetRoleClaims",
        //    "FK_AspNetRoleClaims_AspNetRoles_RoleId",
        //    new[] { "RoleId" },
        //    "AspNetRoles",
        //    new[] { "Id" },
        //    cascadeDelete: false);

        //migrationBuilder.AddForeignKey(
        //    "AspNetUserLogins",
        //    "FK_AspNetUserLogins_AspNetUsers_UserId",
        //    new[] { "UserId" },
        //    "AspNetUsers",
        //    new[] { "Id" },
        //    cascadeDelete: false);