Code First Migrations in SQL Azure - Tables without a clustered index are not supported

我怕爱的太早我们不能终老 提交于 2019-12-05 00:10:13


I can't seem to get my Code-First Migration to create my SQL Azure database.

It keeps complaining about SQL Azure's lack of support for tables without clustered indexes and I cant find a way around to create my database.

Note: I'm using CreateDatabaseIfNotExists to create the change tracking tables on the first time database creation because apparently DropCreateDatabaseIfModelChanges doesn'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());


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

        public override void Down()

If I try to `Update-Database I get

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

The database is not created.

UPDATE: I started from scratch and followed this guide to enable Automatic Migrations (scratched the database and started with a non-existing one so I didn't have to remove the Up/Down code from the Initial migration)

This time my database was successfully created (Did not get this far before) but the tables are not created and I still get the same error as before about no support for tables without clustered indexes.

Please advise


Turns out to be a bug in Entity Framework 6 -Alpha 3. I guess I should've mentioned that.


This one looks similar (although it's not the ideal solution imho): Entity Framework Many-to-Many Clustered vs. Nonclustered Index