5

Non riesco a ottenere il mio Code-First Migration per creare il mio database SQL Azure.Code Prime migrazioni in SQL Azure - Le tabelle prive di indice cluster non sono supportate

Continua a lamentarsi dell'assenza di supporto di SQL Azure per le tabelle senza indici cluster e non riesco a trovare un modo per creare il mio database.

Nota: sto usando CreateDatabaseIfNotExists per creare il rilevamento delle modifiche tabelle sulla creazione del database prima volta perché a quanto pare 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"); 
     } 
    } 

Se provo a `Update-Database ricevo

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

Il database non viene creato.

UPDATE: Ho iniziato da zero e seguii this guide per consentire migrazioni automatiche (scalfito la base di dati e ha iniziato con un non-esistente in modo da non dover rimuovere il Codice/Giù dalla migrazione iniziale)

Questa volta il mio database è stato creato con successo (non è mai arrivato prima) ma le tabelle non vengono create e ottengo ancora lo stesso errore di prima di nessun supporto per le tabelle senza indici cluster.

Si prega di avvisare

+0

fa tutto il codice sembra corretto che il motivo per cui nessuno ha risposto? – parliament

risposta

2

Questo sembra simile (anche se non è la soluzione ideale imho): Entity Framework Many-to-Many Clustered vs. Nonclustered Index

+0

Grazie ma non sono sicuro di come si applica. Sto usando Code-First e Model-First e la migrazione non riesce nemmeno a creare il database, quindi non so in quale fase dovrei modificare la tabella. – parliament

+0

E inoltre, la mia migrazione ha la linea per rendere la chiave primaria in cluster – parliament

+0

Aggiornata la mia domanda. Ho iniziato da zero utilizzando Migrazioni automatiche e sono riuscito a ottenere il database creato ma non le tabelle (ottenendo lo stesso errore). Ho impostato l'inizializzatore 'MigrateDatabaseToLatestVersion' nel costruttore DbContext. In quale fase (e come) posso iniettare una dichiarazione SQL per risolvere il problema? – parliament