2009-07-27 12 views
4

Ich muss eine benutzerdefinierte Eigenschaft zu einer Entity Framework-Klasse hinzufügen, aber wenn ich tun, bekomme ich die "Der Name der Eigenschaft XXX für Typ XXX angegeben ist nicht gültig." Error. Gibt es ein Attribut, das ich der Eigenschaft geben kann, so dass es ignoriert und nicht auf etwas abgebildet wird?Hinzufügen von benutzerdefinierten Eigenschaften zu Client Side Entity-Klasse

Edit: Wenn ich eine benutzerdefinierte Eigenschaft wie in Martin Beispiel unten hinzufügen, wird der folgende Code den obigen Fehler beim SaveChanges-Aufruf auslösen.

MyEntities svc = new MyEntities(url); 
MyEntity ent = new MyEntity(); 
ent.MyField = "Hello, world"; 
svc.AddMyEntity(ent); 
svc.SaveChanges(); 
+1

Zeigen Sie uns Ihren Code! –

+0

Was ist der Typ der Ausnahme, die ausgelöst wird? Was passiert, wenn Sie Ihre benutzerdefinierte Eigenschaft löschen? Was ist, wenn Sie es umbenennen? –

+0

Ich erhalte eine System.Data.Services.Client.DataServiceRequestException (Bei der Verarbeitung dieser Anfrage ist ein Fehler aufgetreten.), Und darin eine System.Data.Services.Client.DataServiceClientException (Der für den Typ XXX angegebene Eigenschaftsname XXX ist nicht gültig.). Wenn ich meine benutzerdefinierte Eigenschaft lösche oder sie zu einer Funktion mache, funktioniert alles einwandfrei. Wenn es ein anderer Name ist, tritt das gleiche Problem auf. – Sprintstar

Antwort

2

Sie können eine Eigenschaft im Code hinzufügen:

public partial class MyEntity { 
    public String MyCustomProperty { 
    get; 
    set; 
    } 
} 

Das Entity Framework erzeugen Teilklassen so dass Sie die generierte Klasse anpassen.

Außerdem glaube ich, kommentieren Code sollte es so etwas ändern:

MyEntities svc = new MyEntities(url); 
// Create MyEntity using the factory method. 
MyEntity ent = MyEntities.CreateMyEntity(...); 
ent.MyField = "Hello, world"; 
svc.AddMyEntity(ent); 
svc.SaveChanges(); 

Dadurch wird sichergestellt, dass Ihr Unternehmen richtig initialisiert wird. Hier

+0

Das ist, was ich getan habe, aber das würde mich den obigen Fehler bei der Verwendung der MyEntity-Klasse erhalten. – Sprintstar

+0

Können Sie klären, wenn Sie den Fehler erhalten? Während der Validierung Ihres Modells, beim Kompilieren oder zur Laufzeit? –

+0

Wenn ich versuche, das Objekt zu verwenden, um die Datenbank zu aktualisieren, z. B .: MyEntities svc = new MyEntities (url); MyEntity ent = neu MyEntity(); ent.MyField = "Hallo, Welt"; svc.AddMyEntity (ent); svc.SaveChanges(); Ich bekomme eine Ausnahme auf SaveChanges. – Sprintstar

Verwandte Themen