Ajout d'une propriété personnalisée à la classe d'entité côté client

entity-framework

Question

Je dois ajouter une propriété personnalisée à une classe Entity Framework, mais le message "Le nom de propriété XXX spécifié pour le type XXX n'est pas valide". Erreur. Y a-t-il un attribut que je peux donner à la propriété pour qu'elle soit ignorée et ne soit mappée à rien?

Edit: Si j'ajoute une propriété personnalisée, comme dans l'exemple de Martin ci-dessous, le code suivant lève l'erreur ci-dessus lors de l'appel SaveChanges.

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

Réponse acceptée

Voici la réponse: http://social.msdn.microsoft.com/Forums/fr/adodotnetdataservices/thread/b7a9e01d-c5c2-4478-8f01-00f7f6e0f75f

Edit: Un meilleur lien décrit la réponse compacte finale de l’ajout d’un attribut afin d’empêcher la sérialisation de l’entité lors de son envoi au service.


Réponse populaire

Vous pouvez ajouter une propriété dans le code:

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

Entity Framework génère des classes partielles vous permettant de personnaliser la classe générée.

De plus, pour commenter votre code, je pense que cela devrait changer en quelque chose comme ceci:

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

Cela garantira que votre entité est correctement initialisée.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow