Visual Studio 2012でエンティティフレームワーク5を使用しています。
既存のモデルがあります。次に、その既存のモデルに新しいテーブルを追加します。そのためにedxmファイルを開き、右クリックを使用してモデルを正常に更新しました。
これで、モデルの「EntityTypes」の下にある「Model Browser」で、テーブル名が存在することがわかります。ただし、ソリューションエクスプローラーでは、.ttファイルの下に新しく追加したテーブルの自動生成された.csファイルは表示されません。
「カスタムツールの実行」を試みましたが、クラスが生成されていません。 Visual Studioも再起動しましたが、結果は同じです。
誰も私を助けることができますか?
ありがとう
問題点
tblEmployee
があるが、「エンティティデータモデル」を追加した後、EDMXファイルでエンティティtblEmployee
をEmployee
に変更し、保存してビルドします。ただし、変更された名前のクラスはModel1.ttファイルで自動的に生成されません。この問題は、VS2012の初期バージョン用です。この問題は、VS2012のアップグレードバージョンで解決されます。
ソリューション
vS2012およびEF 5.0の初期バージョンでこれに対する解決策があります
手順に従う
[Model1.Context.tt]を右クリックし、[カスタムツールの実行]を選択して、[保存してビルド]を選択します。
public DbSet<Employee> Employees { get; set; }
ソリューションの保存とビルド
Model1Context context=new Model1Context();
List<Employee> empList= context.Employees.ToList();
これは私のために働いた。しかし、VS 2012のこのバージョンでは、EF 6.0は、MVCで「エンティティフレームワークを使用してコントローラーとビューを作成する」場合、まだ足場を作成できないことに注意してください。 EF 5.0を使用するか、VS2012を新しいアップデートでアップデートする必要があります。
自分で解決しました。
問題はファイルfilename。Context.ttおよびfilename。ttにありました。
両方のファイルで指定された変数const string inputFile
のダイアグラムファイル名は、既存のダイアグラムファイルと異なりました(。edmx file)。既存のダイアグラムファイル名で更新し、データベースからモデルを更新しました。今は正常に動作しています。
この場合、エキサイティングなモデルを削除し、追加をクリックして、新しく追加したテーブルを追加するだけです!
これがフォルダーにあるedmxファイルのバグである場合、現在修正されています-VS 2012 Update 1をダウンロードしてインストールします。次から入手できます。
http://www.Microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-update
新しいテーブルに主キーを追加しました。これで問題が解決します。