これは 2 つのステップで行う必要があります。まず、WebMatrix にテーブルを作成させないようにする必要があります。そのためのInitializeDatabaseメソッドへのパラメーターがあります
テーブルの作成について。これらは EF モデルの一部ではないため、Enable-Migrations によって作成されません。
テーブルの作成を最初の移行に追加する必要があります。スクリプトはそのアンサーで利用できます
public partial class AddWebMatrixSecurityTables: DbMigration
{
public override void Up()
{
Sql(@"Create ...");
}
public override void Down()
{
Sql("Drop....");
}
}
Fluent API を使用してテーブルを作成する場合は、このコードを使用できます。webpages_Membership と webpages_UsersInRoles の両方への FK を持つ UserProfile テーブルを含めるように変更する必要があります。
using System;
using System.Data.Entity.Migrations;
public partial class AddWebMatrixTables : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.webpages_Membership",
c => new
{
UserId = c.Int(nullable: false, identity: true),
CreateDate = c.DateTime(nullable: true),
ConfirmationToken = c.String(nullable: true, maxLength: 128),
IsConfirmed = c.Boolean(nullable: true, defaultValue: false),
LastPasswordFailureDate = c.DateTime(nullable: true),
PasswordFailuresSinceLastSuccess = c.Int(nullable: false, defaultValue: 0),
Password = c.String(nullable: false, maxLength: 128),
PasswordChangedDate = c.DateTime(nullable: true),
PasswordSalt = c.String(nullable: false, maxLength: 128),
PasswordVerificationToken = c.String(nullable: true, maxLength: 128),
PasswordVerificationTokenExpirationDate = c.DateTime(nullable: true)
})
.PrimaryKey(t => t.UserId);
CreateTable(
"dbo.webpages_OAuthMembership",
c => new
{
Provider = c.String(nullable: false, maxLength: 30),
ProviderUserId = c.String(nullable: false, maxLength: 100),
UserId = c.Int(nullable: false)
})
.PrimaryKey(t => new {t.Provider, t.ProviderUserId});
CreateTable(
"dbo.webpages_Roles",
c => new
{
RoleId = c.Int(nullable: false, identity: true),
RoleName = c.String(nullable: false, maxLength: 256)
})
.PrimaryKey(t => t.RoleId);
CreateTable(
"dbo.webpages_UsersInRoles",
c => new
{
UserId = c.Int(nullable: false),
RoleId = c.Int(nullable: false)
})
.PrimaryKey(t => new {t.UserId, t.RoleId})
.ForeignKey("dbo.webpages_Roles", t => t.RoleId);
}
public override void Down()
{
DropForeignKey("dbo.webpages_UsersInRoles", "RoleId", "dbo.webpages_Roles");
DropForeignKey("dbo.webpages_UsersInRoles", "UserId", "dbo.webpages_Membership");
DropTable("dbo.webpages_UsersInRoles");
DropTable("dbo.webpages_Roles");
DropTable("dbo.webpages_OAuthMembership");
DropTable("dbo.webpages_Membership");
}
}