1

ASP.NET 4 と Entity Framework 4.3.1 を ObjectContext 経由で使用します。

[AllowHtml]データベースからモデルを更新/更新するたびに、エンティティモデルのすべてのクラスが完全に再構築されるため、1つ以上のエンティティクラスのプロパティに設定されたプロパティ属性が消えます。

また、デザイナーを使用して単純なスカラー プロパティを追加しようとすると、テーブル マッピングは自動作成されず、作成できません。最初にこのプロパティを基になるデータベースに追加してから、モデルの更新/更新ウィザードを実行するという唯一のオプションが残っています。テーブル マッピングを追加することは可能ですか? そうでない場合、なぜこの機能がデザイナーに含まれているのでしょうか。

4

1 に答える 1

1

自動生成コードの第 1 の規則: デザイナーが自動生成を再度実行するたびに変更が失われるため、コードを変更してはなりません。自動生成は変更を検出できません。現在のモデルの正しいコードを生成する責任があるため、常にすべてのコードをゼロから作成し、古いコードを削除します。

テーブル マッピングは自動的に作成されません。Designer は、2 つのモデリング アプローチをサポートしています。

  • データベースが最初 - データベースを変更し、データベースからモデルを更新を実行して、デザイナーで変更と関連するマッピングを取得します
  • 最初にモデルを作成する - モデルを変更し、モデルからデータベースを生成を実行して、データベースを作成するための SQL スクリプトを取得します。

1 つの方法のみを使用する必要があります。

エンティティに属性を付けたい場合は、自動生成コードを使用しないでください。クラスを手動で作成および保守する必要があります。検証の場合 (データ注釈を使用)、代わりにバディ クラスを使用できますが、おそらくそうではありません。

于 2012-07-01T12:06:14.770 に答える