2016-05-04 3 views
0

私はasp.net mvc-4 Webアプリケーションで作業しています。私はEntity Framework 5を使用しています。ここで、EFを使用してデータベーステーブルをマップしました。なぜ私は.edmxファイルをデータベースから更新することを選択したときにModel.ttクラスが更新されない

は今、私は私の.ttフォルダ内の以下のモデルクラスを持って使用します。 -

public partial class CustomAsset 
    { 
     public string CustomerName { get; set; } 
     public int CustomTypeID { get; set; } 
     public string Description { get; set; } 
     public int ID { get; set; } 
     public int Quantity { get; set; } 


     public virtual CustomAssetType CustomAssetType { get; set; } 

    } 

今「customAsset」という名前の私のDBテーブル内の私はCustomerName列を削除します。私は2つの列を追加しました。そのうちの1つは別のテーブルへの外部キーです。 .edmxファイルを右クリックして開くと、データベースからモデルを更新するように選択されました。ここで、実際のテーブルを選択し、更新をクリックします。

enter image description here

が、私の関連.ttクラスはまだ古いの列を参照している - :今.edmxファイル内のモデルが正しく次のように新しい列/関係を得ました。私は私の.ttモデルクラスは以下の通りであることを期待していた: -

public partial class CustomAsset 
    { 
     //public string CustomerName { get; set; } 
     public int CustomTypeID { get; set; } 
     public string Description { get; set; } 
     public int ID { get; set; } 
     public int Quantity { get; set; } 
     public int? CustomerID { get; set; } 
     public int? RackID { get; set; } 

     public virtual CustomAssetType CustomAssetType { get; set; } 
     public virtual Rack Rack { get; set; } 
    } 

更新されますし、私は.edmxファイルを更新するとき、私は、私の.ttクラスを強制することができますどのようにわかりませんか?私は関連する.ttクラスを手動で変更して新しい列/関係を取得すると問題はありますか?

答えて

3
1.Build the project after updating EDMX file. 

2.Right click your .tt file in solution explorer. 

3.Select "Run Custom Tool" option. 

This will update the .tt file. 
+0

回答ありがとうございます...しかし、これは.ttクラス全体を更新しますか?または更新されたものだけ?私は全体の.ttモデルクラスを再生成したくありません。このケースでは、いくつかのエンティティの同時実行モードなどの.edmxに適用されているいくつかの設定が失われます。データベースから.edmxを更新します。.ttフォルダ内の関連するモデルクラスも更新されますが、私は現在のプロジェクトの中でこれを取得していません... –

関連する問題