2009-05-14 5 views
0

créer table Table1 (attributeName varchar (100), AttributeValue varchar (100), attributeLookupMethod varchar (50))Est-ce que nHibernate peut correspondre à une table liée en fonction d'une valeur de colonne?

créer la table Table2 (attributeName varchar (100), CSVAllowableValues ​​varchar (1000)

Sur la base de la au-dessus de 2 tables, en utilisant NHibernate, est-il possible de récupérer uniquement les détails de Tableau2 quand Table1.attributeLookupMethod = 'Recherche'?

Merci.

Répondre

2

Mettre en œuvre dans vos subclassing deux tables.

Vous aurez une classe pour Table1, et une classe pour Table2 qui étendra la première. Dans le mappage Table1, déclarez le champ 'attributeLookupMethod' comme discriminateur. Dans le mappage de la sous-classe Table2, déclarez la valeur discriminante comme 'Lookup'.

NHibernate doc about subclassing

En faisant cela, il pourrait être bon de déclarer une clé primaire commune (peut-être attributeName) et une clé étrangère de Tableau2 à Tableau1

+0

Ce FK doit se situer entre le PK de Tableau2 -> PK de table1;) –

+0

Vous avez raison. J'ai ajouté ceci à la réponse. Merci –

Questions connexes