Je crée une file d'attente de messages dans une base de données. Chaque élément en file d'attente stocke un ID et quelques autres choses. Mais le champ clé est IncomingMessage. Dans la base de données, je stocke une version sérialisée de IncomingMessage car il peut s'agir d'un certain nombre de types (comme NewWorkorderMessage ou EmployeeStatusChangeMessage). Donc le champ dans ma classe QueuedMessage _incomingMessage est une chaîne. Cependant, je voudrais éviter la chaîne virtuelle publique habituelle QueuedMessage {get; set;} business et avoir simplement un objet public GetMessage() et une méthode publique SetMessage (message d'objet) pour gérer la sérialisation automatique du .NET classer dans le XML. Naturellement, l'application appelante veut traiter des instances de classes Message, pas de XML qu'elle doit sérialiser/désérialiser. Utilisation de FluentNHibernate Je ne suis pas sûr de savoir comment faire cela. J'ai essayé quelques approches différentes telles que la suivante, mais cela nécessite encore que je possède la propriété.Stockage d'un champ dans FluentNHibernate en utilisant un type, mais en accédant par des méthodes comme un autre type
Des idées? Merci.
Map(x => x.IncomingMessage)
.Not.Nullable()
.WithLengthOf(3000)
.Access.AsReadOnlyPropertyThroughCamelCaseField(Prefix.Underscore);