コードファーストマイグレーションでSQLAzureデータベースを作成できないようです。
クラスタ化インデックスのないテーブルに対するSQLAzureのサポートの欠如について不平を言い続けており、データベースを作成する方法を見つけることができません。
注:CreateDatabaseIfNotExists
データベースを初めて作成するときに変更追跡テーブルを作成するために使用しているのは、明らかDropCreateDatabaseIfModelChanges
にそれを行わないためです。
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");
}
}
`Update-Databaseを実行しようとすると、
Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index and try again.
データベースは作成されません。
更新:最初から始めて、このガイドに従って自動移行を有効にしました(データベースをスクラッチし、存在しないデータベースから開始したため、最初の移行からアップ/ダウンコードを削除する必要はありませんでした)
今回はデータベースが正常に作成されましたが(これまでに取得できませんでした)、テーブルは作成されず、クラスター化インデックスのないテーブルはサポートされないという以前と同じエラーが発生します。
お知らせ下さい