2014-02-26 11 views
25

Nun, da Indizes in der neuesten Beta-Version von Entity Framework 6.1 verfügbar sind, ist es sogar möglich, einen Index im Code first approach zu erstellen, der dieser SQL-Anweisung entspricht?Entity Framework 6.1 - Index mit INCLUDE-Anweisung erstellen

CREATE NONCLUSTERED INDEX [Sample1] 
ON [dbo].[Logs] ([SampleId],[Date]) 
INCLUDE ([Value]) 
+0

ich denke .... nicht – ErikEJ

Antwort

26

Genau genommen hat es in dem Code ersten Migrations immer möglich, da Sie SQL in einer Migration ausführen können:

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

Aber ich merke, dass Sie wahrscheinlich tatsächlich gefragt, ob Sie create an index using the IndexAttribute in 6.1 eingeführt, aber mit eine Spalte einschließen - die Antwort auf diese Frage "Nein"

+4

Ja Ind ExAttribute ist, was ich anstrebte. Aber es sieht so aus, als könnten wir immer noch keine schönen Sachen haben =) – Gapipro

-1

Da habe ich nicht 6.1 EF hier installiert, meine Vermutung ist, dass diese enge sein könnte (ich nehme an ProbeID und Datum sind ein Verbundprimärschlüssel und Wert ist ein Nicht-Schlüsselspalte Sie enthalten möchten):

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;} 
} 

Aber ich kann jetzt nicht testen, also muss jemand überprüfen.

+2

Dies Index erstellen, die gleich: CREATE NONCLUSTERED INDEX [Sample1] ON [dbo] [Logs] (. [SampleId], [Datum], [Wert]) – Gapipro

Verwandte Themen