J'ai une classe générée par SQL LINQ 2 que je souhaite exposer via un service web. Certaines propriétés internes ne sont pas disponibles.Utilisation de XmlIgnore sur les classes partielles générées
Normalement je lancerais [XmlIgnore] dedans mais parce que les propriétés sont dans la moitié générée je ne peux pas faire cela.
J'ai cherché à utiliser MetadataType suivant this post qui devrait me permettre de définir les attributs de propriété dans une autre classe.
Mon code ressemble à ceci:
[MetadataType(typeof(ProspectMetaData))]
public partial class Prospect : ApplicationBaseObject
{
}
public class ProspectMetaData
{
[XmlIgnore]
public object CreatedDateTime { get; set; }
[XmlIgnore]
public object AmendedDateTime { get; set; }
[XmlIgnore]
public object Timestamp { get; set; }
}
Je fais référence ce grâce à un service Web ASP.NET à partir d'un projet Silverlight.
Le problème est que les attributs [XmlIgnore] sont ignorés, ces propriétés sont envoyées à travers.
Quelqu'un a-t-il un aperçu de ce qui pourrait mal se passer ici? et quelle pourrait être la meilleure façon de le faire?
il semble certainement de cette façon et il est vraiment dommage. Je n'ai aucun contrôle sur les accesseurs sur les propriétés générées donc ça ne le résout pas vraiment pour moi. Je suppose que je vais devoir aller avec une classe proxy plutôt que d'envoyer mes objets métier. –
Vous devez réinitialiser les niveaux d'accès lors de la régénération. :( –