Hinzufügen zusätzlicher Eigenschaften zu einem Entity Framework 4 Code zuerst CTP 5 Entity

8

Ich verwende ASP.NET MVC 3 und Entity Framework code first CTP 5 . Ich habe mich gefragt, ob es möglich ist, zusätzliche Eigenschaften hinzuzufügen, die keiner Tabellenspalte zugeordnet sind?

Ich hatte eine News-Klasse und es ist so definiert:

%Vor%

Meine Datenbankkontextklasse:

%Vor%

In der Entity-Klasse habe ich eine Eigenschaft definiert wie:

%Vor%

Ich habe diesen Teil noch nicht programmiert, aber ich möchte, dass alle defekten Regeln zu dieser Liste hinzugefügt werden, wenn das Objekt validiert wird. Der Fehler, den ich bekomme, ist:

%Vor%

Hier ist mein Repository Code:

%Vor%

UPDATE 2011-03-02:

Hier ist meine Entity -Klasse:

%Vor%

Hier ist meine RuleViolation -Klasse:

%Vor%

Hier ist meine Kontextklasse:

%Vor%     
Brendan Vogt 01.03.2011, 14:29
quelle

2 Antworten

17

Sie können den Typ mithilfe der Fluent-API ignorieren, indem Sie Ihrer OnModelCreating -Methode Ihrer MyContext -Klasse

eine Ignorierregel hinzufügen %Vor%

Oder Sie können die Eigenschaft ignorieren, indem Sie das NotMapped -Attribut

verwenden %Vor%

und Entity Framework ignoriert dann die Eigenschaft.

    
David Glenn 01.03.2011, 14:35
quelle
4

Sie können auch verwenden:

%Vor%

Um NotMapped zu verwenden, müssen Sie using System.ComponentModel.DataAnnotations;

hinzufügen

Bearbeiten:

Nun sehe ich, dass Sie das Mapping der Eigenschaft von der Basisklasse vermeiden wollen. Es funktioniert nicht mit OnModelCreating - es ist ein bestätigter Fehler in CTP5 (Ich werde versuchen, den Link später zu finden). Ich bin mir nicht sicher, ob es mit NotMappedAttribute funktioniert. Dieses Attribut ist nur ein anderer Ansatz, um das gleiche Ergebnis zu erzielen.

    
Ladislav Mrnka 01.03.2011 14:39
quelle