Wie können Entity Framework-Entitätseigenschaften vor stark typisierten Sichten verborgen werden?

7

Ich verwende Entity Framework in meiner ASP.NET MVC 4.0-Anwendung und möchte wissen, wie Felder in meiner Entität in meiner stark typisierten Ansicht verhindert oder verborgen werden können? Momentan werden mehrere Primärschlüsselfelder und Zeitstempelfelder auf der Ansicht erzeugt, die ich nicht möchte.

Ich weiß, dass das Festlegen der Eigenschaft auf internal im Gegensatz zu public funktioniert, aber ich bin mir nicht sicher über den gesamten Downstream-Effekt, den dies haben wird. Ich bevorzuge die Verwendung von Datenannotationen für die Eigenschaften, aber die, die ich versucht habe, verhindern, dass Controller-Scaffold als versteckte Felder verwendet werden. Ich bevorzuge es, dass sie öffentlich bleiben, aber nicht in der stark typisierten Ansicht erzeugt werden.

BEARBEITEN:

Um eine stark typisierte Ansicht zu erstellen, fügen Sie eine neue Ansicht in Visual Studio hinzu und wählen Sie die Klasse in dem Dialog aus, nach dem die Ansicht modelliert wird. Dies wiederum erstellt eine Sicht mit allen Steuerelementen, die durch Eigenschaften für die Klasse dargestellt werden. Zum Beispiel wird ein LastName -Feld wie folgt erstellt:

%Vor%

Weiß jemand, wie man das macht?

Danke!

    
atconway 14.08.2012, 12:56
quelle

3 Antworten

19

Beantworten Sie die Frage

Attribut

%Vor%

oder

%Vor%

vor den unerwünschten Eigenschaften verhindert, dass der Designer Gerüstfelder für diese Eigenschaften erzeugt.

    
Pluc 14.08.2012, 14:02
quelle
7

Um eine Eigenschaft über Datenanmerkungen aus der Benutzeroberfläche auszublenden, dekorieren Sie die Eigenschaft mit

%Vor%

und sie werden von den Editor-Vorlagen ignoriert.

    
Forty-Two 14.08.2012 14:32
quelle
4

Sie sollten separate ViewModel-Klassen verwenden, die nur die gewünschten Eigenschaften enthalten.

    
SLaks 14.08.2012 12:59
quelle