Je développe une solution avec Silverlight RIA Services. L'une des exigences est de "pousser" la notification aux clients, que j'implémente en utilisant un appel bloquant au serveur, qui retourne quand une mise à jour est reçue. Essayer de mettre en œuvre cette aide d'une structure générique, je suis venu à cette structure de données:RIA Services change tracking
public class Change
{
public ObjectType Type { get; internal set; } // objecttype is an enum
public int ObjectKey { get; internal set; }
public string PropertyName { get; internal set; }
public object OldValue { get; internal set; }
public object NewValue { get; internal set; }
//key required for RIA Services
[Key]
public Guid ChangeGuid { get; private set; }
}
En dehors de quelques défauts évidents dans cette conception (ce qui est juste un test), les propriétés OldValue
et NewValue
ne sont pas visibles sur le client, en raison de leur type d'objet. Les valeurs de ces propriétés seront toujours Entity Framework primitive.
Y a-t-il un moyen d'obtenir OldValue
et NewValue
au client sans tout convertir en chaînes? Googling ne m'a pas très loin en raison du mot-clé object
encombrer les résultats de recherche.
Toute solution générale concernant mon problème est appréciée.
Voulez-vous dire que le type va être soit un String, DateTime ou une autre primitive et vous ne savez pas quel type il sera au moment de la compilation? –
@Isaac Exactement, il peut s'agir de n'importe quel type utilisé en tant que propriété pour un objet Entity Framework. Voir http://msdn.microsoft.com/en-us/library/ee382832.aspx – Bas