Nach meinem Verständnis ist das [NotMapped]
Attribut erst in EF 5 verfügbar, das sich derzeit in CTP befindet, sodass wir es nicht in der Produktion verwenden können.
Wie kann ich Eigenschaften in EF 4.1 markieren, die ignoriert werden sollen?
UPDATE: Mir ist noch etwas Seltsames aufgefallen. Ich habe das [NotMapped]
Attribut zum Laufen gebracht, aber aus irgendeinem Grund erstellt EF 4.1 immer noch eine Spalte mit dem Namen Disposed in der Datenbank, obwohl das public bool Disposed { get; private set; }
mit markiert ist [NotMapped]
. Die Klasse implementiert IDisposeable
natürlich, aber ich sehe nicht, wie das wichtig sein sollte. Irgendwelche Gedanken?
c#
.net
entity-framework
ef-code-first
entity-framework-4.1
Raheel Khan
quelle
quelle
Antworten:
Mithilfe der
NotMapped
Annotation zu Attributdaten können Sie Code-First anweisen, eine bestimmte Eigenschaft auszuschließen[NotMapped]
Attribut ist imSystem.ComponentModel.DataAnnotations
Namespace enthalten.Sie können dies alternativ mit der
Fluent API
überschreibendenOnModelCreating
Funktion in IhrerDBContext
Klasse tun :http://msdn.microsoft.com/en-us/library/hh295847(v=vs.103).aspx
Die von mir überprüfte Version
EF 4.3
ist die neueste stabile Version, die verfügbar ist, wenn Sie NuGet verwenden.Bearbeiten : SEP 2017
Asp.NET Core (2.0)
Datenanmerkung
Wenn Sie den asp.net-Kern verwenden ( 2.0 zum Zeitpunkt dieses Schreibens ), kann das
[NotMapped]
Attribut auf Eigenschaftsebene verwendet werden.Fließende API
quelle
Ab EF 5.0 müssen Sie den
System.ComponentModel.DataAnnotations.Schema
Namespace einschließen .quelle