2010-03-15 17 views
1

J'utilise le générateur HiLo dans mon projet S # rpArchitecture/NHibernate et j'effectue un gros lot d'importation.HiLo: comment contrôler les valeurs faibles

J'ai lu quelque part à propos de la possibilité de prédire les valeurs basses de tous les nouveaux enregistrements car ils sont générés sur le client. Je pense que cela signifie que je peux contrôler les valeurs basses moi-même ou au moins aller chercher la valeur basse suivante quelque part.

La raison pour laquelle je veux utiliser ceci est que je veux établir des relations avec d'autres entités que je suis sur le point d'insérer. Ils n'existent pas encore mais seront insérés avant la fin de la transaction par lots.

Toutefois, je ne trouve pas d'informations sur la façon de définir les valeurs basses ou sur la façon d'obtenir la valeur basse suivante.

Des idées?

Répondre

3

Vous n'avez pas besoin de prédire quoi que ce soit pour définir vos relations. Ils sont définis en fonction du modèle de domaine et non des ID. L'avantage d'utiliser HiLo est que les ID sont générés côté client (transparent pour vous de toute façon), de sorte que l'unité de travail est conservée (aucune écriture DB n'est effectuée jusqu'à flush/commit), contrairement à l'identité, où les inserts sont immédiat.

lire recommandée: http://fabiomaulo.blogspot.com/2009/02/nh210-generators-behavior-explained.html

+0

Merci, qui m'a fait réaliser que je ne devrais pas traiter avec des ID dans le lot et assigner des entités au lieu d'ID lors de références. Fonctionne très bien. –