Disons que j'ai l'entité suivante:
Map(x => x.CalculatedAmount) .ReadOnly();
3 Réponses :
Je n'utilise pas couramment, mais dans la mappage d'une propriété persistée sans setter n'est mappée avec (Radique est du point de vue fort> modèle strong>; la valeur est écrite sur la base de données et utilisées dans des contrôles sales) P> Access = "Readonly" code>, alors cherchez quelque chose comme
.Readonly () Code> p>
J'ai mis à jour ma réponse pour résoudre ce problème ... c'était l'une des premières choses que j'ai rencontrées, mais j'ai toujours fini par l'exception ci-dessus. Pouvez-vous penser à un paramètre dans NHibernate qui bloquerait cela de travailler?
Pouvez-vous exporter le XML que fluentnh génère?
On dirait que c'est une valeur calculée. Si vous pouvez calculer cette valeur à un moment donné, alors pourquoi le stocker du tout? P>
Bonne question ... La réponse courte est la non-répudiation. Même si ma méthode de calcul change, je peux toujours indiquer ce qui a été calculé à un point donné à temps / corrélé à une action.
@Brandon Linton: Assez juste. +1. Y a-t-il une raison pour laquelle un champ de support privé n'est pas souhaitable ou est-ce plus un problème d'esthétique?
Cela ne finirait jamais de vous habituer ... Le calcul doit être effectué à chaque fois, car les facteurs variables peuvent changer à tout moment.
J'ai la meme situation. J'ai besoin de persister une valeur en lecture seule et dérivée à des fins de rapport.
J'ai compris que la façon dont la cartographie fonctionne dans NHibernate fluide consiste simplement à ajouter la propriété d'accès: