4

EF5を使い始めたばかりです。MSSQL データベースを作成し、モデル (edmx) ファイルを作成し、「コード生成項目の追加」を使用して EF5dbcontextクラスを作成しました。

データベースを変更する (列を追加する、またはデータ型を変更する) たびに、「データベースからモデルを更新」が機能しないことがわかり、モデルを削除して再作成する必要があります。それは私にとっては問題ありませんが、テンプレート ファイルDbContextから生成されたクラスはどうなりますか? model.ttすべてのDbContextクラスも再度生成する必要がありますか?

.edmxデータベース優先の環境で作業し、モデルとDbContextクラスをデータベースと同期させる正しい方法は何ですか?

4

3 に答える 3

4

データベースからモデルを更新した後Run Custom Tool、エンティティ モデルを試してみてください。動作し、テストされています。

からEntity ModelRight ClickRun Custom Tool

于 2013-01-20T01:37:17.913 に答える
1

私はそれを行う2つの方法を見ることができました:

1)edmxとデータベースの最初のフローを使用するEF4アプローチ(EF5でも可能)を使用します。次に、データベースに変更があるときはいつでも、edmx デザイナーのコンテキストメニューから「データベースからモデルを更新..」するだけです。これにより、生成されたエンティティ クラスが自動的に更新されます。

2) EF5 アプローチを使用する - POCO クラスを 1 回生成し、edmx をまったく使用しないでください。これを行うには、Entity Framework Power Tools を使用してから、"Reverse Engineer Code First" を使用します。データベース モデルが変更されたときに、クラスに手動で変更を適用します (これは、データベースの増分変更でのみ機能することは明らかです)。

于 2013-01-20T01:33:29.250 に答える
0

VS2010 では、ソリューション エクスプローラーの右上に、生成されたクラスを更新する「すべてのテンプレートを変換する」というボタンがあります。

于 2013-01-04T17:07:39.187 に答える