ASP.NET MVC 6 - NOT NULL을 Entity Framework 7의 기본 키에 할당

asp.net asp.net-core-mvc c# entity-framework-core

문제

암호:

migrationBuilder.AddPrimaryKey("AspNetRoles", "PK_AspNetRoles", new[] { "Id" }, isClustered: true);

Cannot define PRIMARY KEY constraint on nullable column in table 'AspNetRoles'. 오류 메시지가 Cannot define PRIMARY KEY constraint on nullable column in table 'AspNetRoles'.

MigrationBuilder 네임 스페이스 - Microsoft.Data.Entity.Relational.Migrations.Builders

ASP.NET MVC 6 에서 위의 코드에 NOT NULL 을 할당하는 방법

인기 답변

코드 우선 EF 엔티티를 작성하고 진행할 수있는 임시적인 임시 해결 방법으로, 해당 키를 다루는 마이그레이션 스크립트 부분을 주석 처리했습니다.

분명히이 정육점은 ASP.NET 사용자와 역할 테이블에있는 관계이며 실행할 수있는 장기적인 솔루션이 아니며 고정되어 있거나 누군가가 어떤 시점에서 실제 솔루션을 찾을 것이라고 가정합니다.

내가 주석 처리 한 라인 중 일부 (일단 역할을 변경하면 사용자에게 동일한 오류가 발생 함).

        //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);

아마도 EF7 초기 빌드에서 버그 또는 누락 된 기능일까요?




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.