2015-01-07 1 views
0

Add-Migration을 올바르게 작성하는 데 문제가 있습니다. migration.CreateIndex() 호출. 나는이 같은 POCO이이 Add-Migration에서이주를 사용하는 CodeFirst의 다중 중복 인덱스

class MyPoco 
{ 
    [Key] 
    [DatabaseGenerated(DatabaseGeneratedOption.None)] 
    [Index("IX_Test", 1)] 
    int PartitionId { get; set; } 

    [Key] 
    [DatabaseGenerated(DatabaseGeneratedOption.None)] 
    int LocalId { get; set; } 

    [Index("IX_Test", 2)] 
    int LocalId2 { get; set; } 
} 

CreateIndex("dbo.MyPoco", "LocalId2", unique: true, name: "IX_Test");를 생성합니다. 예상 한 것과 같습니다 CreateIndex("dbo.MyPoco", new[] { "PartitionId", "LocalId2" }, unique: true, name: "IX_Test"); 근본 원인은 EF 모델이 속성 당 하나의 색인 주석 만 가질 수있는 것 같습니다 (생성 된 이전 EDMX에서 customannotation:Index="{ Name: IX_Test, Order: 2, IsUnique: True }"). 그리고 DB 생성 키를 사용하지 않기 때문에 EF는 인덱스를 생성합니다. 인덱스는 내 인덱스보다 우선합니다.

누구나 EF 코드 우선을 사용하여 두 개의 중복 색인을 생성하고 EF 마이그레이션에서 올바른 출력을 생성하는 방법을 알고 있습니까?

답변

관련 문제