2010-02-26 6 views

Répondre

35

Les stratégies d'accès aux propriétés sont décrites dans la documentation de référence sous 5.1.9. Property. L'attribut access vous permet de contrôler comment NHibernate accédera à la valeur de la propriété lors de l'exécution.

La valeur de l'attribut access doit être au format text-strategy.naming-strategy. La stratégie .naming n'est pas toujours requise.

stratégie d'accès peut être:

  • propriété L'implémentation par défaut. NHibernate utilise les accesseurs get/set de la propriété. Aucune stratégie de dénomination ne doit être utilisée avec cette stratégie d'accès car la valeur de l'attribut name est le nom de la propriété.
  • champ NHibernate accédera directement au champ. NHibernate utilise la valeur de l'attribut name comme nom du champ. Si vous voulez que le nom de la propriété et non le champ soit ce que les consommateurs de votre API utilisent avec HQL, une stratégie de nommage est nécessaire. NHibernate accédera directement au champ lors de la définition de la valeur et utilisera la propriété lors de l'obtention de la valeur. Une stratégie de nommage est requise car NHibernate utilise la valeur de l'attribut name comme nom de propriété et doit être informé du nom du champ.
  • ClasseName Si les stratégies d'accès intégrées de NHibernate ne correspondent pas à votre situation, vous pouvez créer la vôtre en implémentant l'interface NHibernate.Property.IPropertyAccessor. La valeur de l'attribut access doit être un nom qualifié pour l'assembly qui peut être chargé avec Activator.CreateInstance (string assemblyQualifiedName).

stratégie de nommage peut être:

  • camelcase L'attribut name est converti en cas de chameau pour trouver le terrain.
  • camelcase-underscore L'attribut name est converti en chameau et préfixé d'un trait de soulignement pour trouver le champ.
  • minuscule L'attribut name est converti en minuscules pour trouver le champ.
  • minuscule-underscore L'attribut name est converti en minuscule et préfixé d'un trait de soulignement pour trouver le champ.
  • pascalcase-underscore L'attribut name est préfixé d'un trait de soulignement pour trouver le champ.
  • PascalCase m L'attribut name est préfixé avec le caractère m pour trouver le champ
  • PascalCase-m-underscore L'attribut name est préfixé avec le caractère m et un trait de soulignement pour trouver le terrain.
+0

Qu'en est-il le pas? –

Questions connexes