Ich habe eine LINQ 2 SQL generierte Klasse, die ich über einen Webservice bereitstellen möchte. Es gibt einige interne Eigenschaften, die ich nicht verfügbar sein möchte.Verwenden von XmlIgnore für generierte partielle Klassen
Normalerweise würde ich [XmlIgnore] dort hineinwerfen, aber weil die Eigenschaften in der erzeugten Hälfte sind, kann ich das nicht tun.
Ich habe bei der Verwendung von MetadataType folgende this post betrachtet, die aussieht, als ob es mir erlauben sollte, die Eigenschaftenattribute in einer anderen Klasse zu definieren.
Mein Code sieht in etwa wie folgt aus:
[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; }
}
Ich Referenzierung dies durch eine ASP.NET Web Service aus einer Silverlight-Projekt.
Das Problem ist, dass die [XmlIgnore] -Attribute ignoriert werden, diese Eigenschaften werden gesendet.
Hat jemand einen Einblick, was hier schief gehen könnte? und was könnte der beste Weg sein, dies zu tun?
es scheint sicher, dass die Art und Weise, und es ist wirklich eine Schande. Ich habe keine Kontrolle über die Accessoren auf den generierten Eigenschaften, so dass es nicht wirklich für mich löst. Ich denke, ich muss nur mit einer Proxy-Klasse gehen, anstatt meine Geschäftsobjekte zu senden. –
Sie müssen die Zugriffsstufen bei der Regenerierung zurücksetzen. :( –