2009-10-30 5 views
0

Voici ce que je veux réaliser. J'ai une collection (A..n) avec un membre de la collection de types (myLIST). Dans la collection B, j'ai un champ "Alias" que nous pouvons représenter comme clé primaire.Comment implémenter la clé primaire et étrangère dans la structure de classe?

exemple

A collection myLIST[0].Alias = 001 
A collection myLIST[1].Alias = 002 
A collection myLIST[2].Alias = 003 
A collection myLIST[3].Alias = 001 

Dans une autre collection B. ma collection de type de membre (MyList) a les données suivantes

B collection myLIST[0].Alias = 010 
B collection myLIST[1].Alias = 001 
B collection myLIST[2].Alias = 005 

Je veux que mon MyList a une référence (comme référence de classe) à d'autres collections (A..n) myLIST avec la même clé Alias. si je change une valeur de propriété publique de A collection myLIST[0].Alias = 001 les changements seront propagés à myLIST collectin d'autres avec le même alias de "001" (comme référence). avec mon exemple ci-dessus, les changements à la propriété publique se propageront à

A collection myLIST[3].Alias = 001 
B collection myLIST[1].Alias = 001 

Quelqu'un peut-il m'aider avec cela?

Merci

+0

quel langage de programmation? chercher un dictionnaire – Amirshk

Répondre

0

Les clés sont un hack.

Une base de données relationnelle doit utiliser des clés en raison des restrictions imposées aux emplacements des lignes dans une table. Il ne peut pas utiliser de références directes car aucune référence de ce type ne peut exister dans une base de données relationnelle appropriée.

Un objet peut contenir une référence directe à un autre objet sans avoir recours à des clés ou la recherche de clé ou une telle folie.

0

Ce n'est pas clair pour moi quelle est la relation entre vos objets. +1 pour identifier la langue que vous utilisez Au lieu de penser en termes de collections, pensez à la façon dont les objets sont liés. Par exemple:

  1. Si chaque A est associé à 0 ... n Bs, alors a une collection de B, et chaque B a une référence directe à un A (B a un beaucoup à -une relation avec A).
  2. Si un A peut être associé à 0 ... n B, et un B peut être associé à 0 ... m A, alors A a une collection de B, et B a une collection de A. Dans ce cas, vous devrez peut-être créer une entité de jointure , AB, pour représenter la relation plusieurs-à-plusieurs .

Ne pas stocker plusieurs copies du même A ou regarder les choses en utilisant des alias, si vous pouvez redresser votre objet graphique à utiliser des références directes. Selon la langue que vous utilisez et votre source de données, vous pouvez trouver un outil comme Hibernate ou LINQ pour vous aider.

Espérons que cela aide!

Questions connexes