2014-02-26 1 views

답변

26

는 엄격하게 당신이 이전에 SQL을 실행할 수 있기 때문에 항상 코드 먼저 마이그레이션에 가능했습니다 말하기 :

public partial class AddIndexes : DbMigration 
    { 
     private const string IndexName = "IX_LogSamples"; 

     public override void Up() 
     { 
      Sql(String.Format(@"CREATE NONCLUSTERED INDEX [{0}] 
           ON [dbo].[Logs] ([SampleId],[Date]) 
           INCLUDE ([Value])", IndexName)); 

     } 

     public override void Down() 
     { 
      DropIndex("dbo.Logs", IndexName); 
     } 
    } 

하지만 난 당신이 create an index using the IndexAttribute 6.1에 도입 할 수 있다면 아마 당신은 실제로 요구하고 실현하지만,과 열을 포함하지 않습니다 - 그 대답은 "아니오"

+4

예 Ind exAttribute는 제가 목표로 삼은 것입니다. 하지만 우리는 여전히 좋은 것들을 가질 수없는 것처럼 보입니다 =) – Gapipro

-1

내가 EF 6.1 여기에 설치되어 있지 않기 때문에, 내 생각 엔이 (내가 SampleId을 가정하고 날짜 복합 기본 키이며, 값은 당신이 포함하고자하는 키가 아닌 열입니다) 확대 될 수 있다는 것입니다 :

public class Logs { 
    [Key, Column(Order=0), Index("Sample1", 0, IsClusted=false, IsUnique=false] 
    public int SampleId {get;set;} 

    [Key, Column(Order=1), Index("Sample1", 1, IsClusted=false, IsUnique=false] 
    public DateTime Date {get;set;} 

    [Index("Sample1", 2, IsClusted=false, IsUnique=false] 
    public string Value {get;set;} 
} 

하지만 지금은 테스트 할 수 없으므로 누군가 확인해야합니다.

+2

이 동일 인덱스를 생성합니다 : CREATE 클러스터되지 않은 인덱스 [sample1을] [DBO] ON [로그] (. [SampleId], [날짜], [값]) – Gapipro

관련 문제