2

ほとんどのテーブルでID挿入がオンになっていない既存のデータベースに対して、最初にEF5データベースでフレームワーク4.5を使用しています。私が使用しているデータベースにも既存のデータがあります。データベース生成 ID を有効にしようとしています。

EF5 はそれを行い、私のエンティティのマップが表示されます

this.Property(t => t.ActionId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);

に更新しました

this.Property(t => t.ActionId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

Update-Database -Verbose を実行したところ、次のように表示されました。

No pending code-based migrations.
Applying automatic migration: 201304151128390_AutomaticMigration.
ALTER TABLE [dbo].[Action] ALTER COLUMN [ActionId] [int] NOT NULL

SqlMS でテーブル デザイナーを開くと、ID 仕様がまだ [いいえ] に設定されています。データベース接続を確認し、同じテーブルに新しい列を追加できます。また、喜びのないデータ注釈に交換しようとしました:

[DatabaseGenerated(DatabaseGeneratedOption.Identity)]

手順がありませんか?

前もってありがとう ロブ

4

2 に答える 2

0

コードで同じ問題が発生し、[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] を使用するという提案が見つかりましたが、それでも役に立ちませんでした。この手順の後、キー プロパティの [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] 注釈を残し、Identity Specification を手動で yes に設定し、1 ずつ増やしました。うまくいきました。これはasp.netのバグである可能性があると私は考えています

于 2014-12-10T17:57:48.303 に答える