2010-03-16 5 views

Antwort

7

Nun, "Ergebnisse von generiertem Code unterdrücken" bedeutet wirklich "Betrachte nicht Typen mit GeneratedCodeAttribute". Der Codegenerator von EF hat das nicht hinzugefügt, obwohl ich es dem Team vorgeschlagen habe. Aber Sie können hinzufügen, wenn Sie use custom T4.

+0

Das erklärt es dann. Vielen Dank! –

+0

Was passiert, wenn Sie das Modell aktualisieren? Sie müssen das Attribut erneut hinzufügen? –

+0

@Juan, nein, Sie müssen nur das T4 einmal ändern. –

10

Setzen Sie das Attribut einfach auf Ihre Klassendefinition.

Aber wie es geht, da Ihre Datei jederzeit überschrieben werden kann. Verwenden Sie eine separate Datei, da alle generierten Klassen Teilklassen sind. Öffnen Sie eine separate Datei, und schreiben Sie so etwas wie:

[GeneratedCode("EntityModelCodeGenerator", "4.0.0.0")] 
public partial class YourEntitiesContextName : ObjectContext 
{ 
} 

Dies wird Codeanalyse auf Ihre speziellen generierten Klasse überspringen. StyleCop zum Beispiel ist schlauer und berührt keine Dateien, die .designer/.generated Teil in ihrem Namen oder Regionen, die generated Wort in ihrem Namen haben.

+1

Dadurch wird jedoch verhindert, dass FxCop den von Ihnen hinzugefügten benutzerdefinierten Code überprüft. Die EF führt dies jedoch für jede einzelne Eigenschaft aus, sodass der benutzerdefinierte Code weiterhin überprüft wird. –

+0

@Craig: Das stimmt. Aber da dies mein T $ ist und ich weiß, dass ich meinen Klassen keinen zusätzlichen Code hinzufüge, ist das in Ordnung. Aber Punkt genommen. Sehr wertvoller Kommentar. +1 dafür. –

Verwandte Themen