2016-05-04 1 views
0

Je travaille sur une application web asp.net mvc-4. et j'utilise Entity Framework 5. où j'ai mappé mes tables de base de données en utilisant EF.pourquoi les classes Model.tt ne seront pas mises à jour quand j'ai choisi de mettre à jour mon fichier .edmx de la base de données

maintenant j'utiliser pour avoir la classe modèle suivant dans mon dossier .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; } 

    } 

maintenant à l'intérieur de ma table de DB nommé "Customasset" i enlever la colonne CustomerName. et j'ai ajouté deux colonnes l'une d'elles est une clé étrangère à une autre table. Ensuite, j'ouvre mon fichier. Edmx je fais un clic droit, puis j'ai choisi de mettre à jour le modèle de la base de données, où je sélectionne la table realted et cliquez sur mise à jour. maintenant le modèle dans le fichier .edmx a les nouvelles colonnes/rapport correctement comme suit: -

enter image description here

mais ma classe liée .tt fait toujours référence à l'ancienne colonnes. je me attendais mon modèle .tt classe à être comme suit: -

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; } 
    } 

donc pas sûr comment je peux forcer mes cours de .tt à se mettre à jour, quand je mettre à jour le fichier .edmx? et y at-il un problème si je modifie manuellement les classes .tt liées pour obtenir les nouvelles colonnes/relation?

Répondre

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

merci pour la réponse ... mais cela mettra-t-il à jour toutes les classes .tt? ou seulement ceux qui ont été mis à jour? comme je ne veux pas régénérer toutes les classes de modèle .tt .. puisque dans ce cas je vais perdre quelques paramètres que j'ai appliqués au .edmx tels que le mode de concurrence pour certaines entités ... je me souviens précédemment quand j'ai choisi de mettre à jour le fichier .edmx à partir de la base de données les classes de modèles liées à l'intérieur du dossier .tt seront également mises à jour .. mais je ne suis pas sûr de ne pas l'avoir dans mon projet actuel ... –