2016-05-04 4 views
0

Ich arbeite an einer asp.net mvc-4-Webanwendung. und ich benutze Entity Framework 5. wo ich meine Datenbanktabellen mit EF zugeordnet.Warum die Model.tt-Klassen nicht aktualisiert werden, wenn ich meine .edmx-Datei aus der Datenbank aktualisieren möchte

jetzt verwende ich die folgende Modellklasse in meinem .tt Ordner habe: -

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

    } 

jetzt in meiner DB Tabelle mit dem Namen „Custom“ i die CustomerName Spalt zu entfernen. und ich fügte zwei Spalten hinzu, von denen einer ein Fremdschlüssel zu einer anderen Tabelle ist. dann öffne ich meine .edmx-Datei, die ich recht-klicke, dann wählte ich, um Modell von der Datenbank zu aktualisieren, wo ich die realted Tabelle vorwähle und auf update anklicke. jetzt das Modell innerhalb der .edmx Datei bekam die neuen Spalten/Beziehung korrekt wie folgt: -

enter image description here

aber meine verwandte .tt Klasse verweist immer noch die alten Säulen. Ich war meine .tt Modellklasse erwarte wie folgt zu sein: -

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

so nicht sicher, wie ich meine .tt Klassen zwingen kann aktualisiert werden, wenn ich die EDMX-Datei aktualisieren? und gibt es irgendein Problem, wenn ich die zugehörigen .tt Klassen manuell ändere, um die neuen Spalten/Relation zu erhalten?

Antwort

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

danke für die Antwort ... aber wird dies die gesamte .tt Klassen aktualisieren? oder nur die, die aktualisiert wurden? weil ich nicht die ganzen .tt modellklassen .. regenerieren will, da in diesem Fall ich einige Einstellungen verlieren werde, die ich auf die .edmx wie den Gleichzeitigkeitsmodus für einige Wesenheiten angewendet habe ... ich erinnere mich vorher, als ich wählte update the .edmx aus der Datenbank die zugehörigen Modellklassen innerhalb des .tt-Ordners werden ebenfalls aktualisiert .. aber nicht sicher, dass ich das nicht in mein aktuelles Projekt geschafft habe ... –

Verwandte Themen