5

Ich kann nicht scheinen, meine Code-First-Migration zu erhalten, meine SQL Azure-Datenbank zu erstellen.Code Erste Migrationen in SQL Azure - Tabellen ohne Clustered Index werden nicht unterstützt

Es beschwert sich über SQL Azure die fehlende Unterstützung für Tabellen ohne Clustered-Indizes und ich finde keinen Weg um meine Datenbank zu erstellen.

Hinweis: Ich verwende CreateDatabaseIfNotExists die Änderung Tracking-Tabellen auf der ersten Zeit der Erstellung der Datenbank zu erstellen, da anscheinend DropCreateDatabaseIfModelChangesdoesn't do that for you

public partial class IUnityDbContext : DbContext 
    { 
     public IUnityDbContext() 
      : base("Name=IUnityDbContext") 
     { 
      Database.SetInitializer(new CreateDatabaseIfNotExists<IUnityDbContext>()); 
      //Database.SetInitializer(new DropCreateDatabaseIfModelChanges<IUnityDbContext>()); 
     } 

     public DbSet<User> Users { get; set; } 

     protected override void OnModelCreating(DbModelBuilder modelBuilder) 
     { 
      modelBuilder.Configurations.Add(new UserMap()); 

      base.OnModelCreating(modelBuilder); 
     } 
    } 




    public partial class Initial : DbMigration 
    { 
     public override void Up() 
     { 
      CreateTable(
       "dbo.Users", 
       c => new { 
         ... 
        } 
      ).PrimaryKey(u => u.UserId, clustered: true);    
     } 

     public override void Down() 
     { 
      DropTable("dbo.Users"); 
     } 
    } 

Wenn ich versuche, zu `Update-Datenbank I

Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again. 
bekommen

Die Datenbank wurde nicht erstellt.

UPDATE: begann ich von Grund auf und folgte this guide automatische Migrationen (die Datenbank zerkratzt und mit einem nicht vorhandenen gestartet, damit ich nicht den Up/Down-Code aus dem Initial Migration entfernen müssen) ermöglichen

Diesmal wurde meine Datenbank erfolgreich erstellt (nicht so weit vorher), aber die Tabellen werden nicht erstellt, und ich bekomme immer noch den gleichen Fehler wie zuvor über keine Unterstützung für Tabellen ohne gruppierte Indizes.

Bitte geben

+0

Ist der gesamte Code korrekt aussehen, welche, warum niemand beantwortet hat? – parliament

Antwort

2

Dieser sieht ähnlich aus (obwohl es imho nicht die ideale Lösung ist): Entity Framework Many-to-Many Clustered vs. Nonclustered Index

+0

Danke, aber ich bin mir nicht sicher, wie es zutrifft. Ich verwende Code-First nicht Model-First und die Migration schlägt fehl, sogar die Datenbank zu erstellen, also weiß ich nicht, in welchem ​​Schritt ich die Tabelle ändern sollte. – parliament

+0

Und außerdem hat meine Migration die Linie, um den Primärschlüssel geclustert – parliament

+0

Meine Frage aktualisiert. Ich habe mit automatischen Migrationen von vorne angefangen und war in der Lage, die Datenbank zu erstellen, aber nicht die Tabellen (mit dem gleichen Fehler). Ich habe den Initiator "MigrateDatabaseToLatestVersion" im DbContext-Konstruktor gesetzt. Bei welchem ​​Schritt (und wie) kann ich eine SQL-Anweisung einfügen, um das Problem zu beheben? – parliament

Verwandte Themen