-3

ご存知のように、ボイラープレートは列を追加するためのエンティティ クラスを提供しません。(AbpUser) という名前のテーブルに列を追加したいと考えています。以下のような移行でクラスを作成しようとしました

public partial class AddRatingMig : DbMigration
{
    public override void Up()
    {
        AddColumn("dbo.AbpUsers", "UserType", c => c.String());
    }

    public override void Down()
    {
        DropColumn("dbo.AbpUsers", "UserType");
    }
}

次に、Pm コンソールでコマンド Update-Database を実行します。しかし、成功していません。ご存知のように、ボイラープレートは列を編集するためのエンティティ クラスを提供しません。助けてください 事前に感謝します

4

3 に答える 3

0

abp.ioフレームワークでも同じ問題があり、新しいプロパティ「PICUstomerId」をAbpUserエンティティに追加してデータベースに移行しました。

abp.io によるコメントは次のとおりです。

ここに独自のプロパティを追加します。例:

パブリック文字列 MyProperty { get; 設定; プロパティ
を追加して EF Core を使用する場合は、次のことを覚えておいてください。

  1. PasargadInsuranceDbContext.OnModelCreating を更新して、新しいプロパティのマッピングを構成します
  2. PasargadInsuranceEfCoreEntityExtensionMappings を更新して IdentityUser エンティティを拡張し、新しいプロパティを移行に追加します。
  3. Add-Migration を使用して、新しいデータベース移行を追加します。
  4. .DbMigrator プロジェクトを実行 (または Update-Database コマンドを使用) して、スキーマの変更をデータベースに適用します。

最後に、ソリューションに移行を追加してから、データベースを更新します

1.ここに独自のプロパティを追加します

2. PasargadInsuranceDbContext.OnModelCreating を更新します。

3. PasargadInsuranceEfCoreEntityExtensionMappings を更新して、IdentityUser エンティティを拡張します。

4. そして最後に update-databse の後、データベースに新しいプロパティが表示されました

于 2020-10-05T17:11:22.833 に答える
0

これが正しい方法です

public partial class AddRatingMig : DbMigration
 {
    public override void Up(MigrationBuilder migrationBuilder)
  {
    migrationBuilder.AddColumn<string>(
      name: "UserType",
      table:"AbpUsers",
      nullable:true
      );
  }

    public override void Down(MigrationBuilder migrationBuilder)
      {
        migrationBuilder.DropColumn(
        name:"UserType",
        table:"dbo.AbpUsers"
        );
      }
}

したがって、コードを次のように使用してデータベースを更新します。

ノート:

次のように適切に移行を追加したことを確認してください。 add-migration migration_name

于 2018-04-22T15:11:57.617 に答える