2010-05-26 5 views
0

Je suis en train de faire une jointure comme celui-ci en utilisant NHibernate couramment:problème avec NHibernate rejoindre

Id(x => x.Id); 
Map(x => x.SourceSystemRecordId,"sourceSystemRecord_id"); 

Puis

Join("cat.tbl_SourceSystemRecords", SourceSystemRecords); 

Mais, il semble que je n'ai pas un moyen de spécifier la colonne que je veux joindre à partir de la première table, dans ce cas, je dois rejoindre sur SourceSystemRecordId et non sur Id

Est-il possible que je peux spécifier cela? J'ai essayé References() mais cela m'oblige à créer un objet pour cette relation, ce dont j'ai besoin est d'agréger les colonnes dans les enregistrements du système de sources à celles de la table principale.

Répondre

1

J'ai essayé Références() mais qui exige de moi pour créer un objet pour cette relation

Avez-vous essayé la méthode des références Développer?

EDIT: méthode d'extension associant des colonnes référencées. et si vous ne voulez pas utiliser le chargement paresseux, voici comment vous pouvez corriger.

ps. Je ne comprends toujours pas clairement. Si ce n'est pas ce que vous voulez, donnez plus de détails/exemples.

par ex.

Base de données:

Examples: 
-Id 

SourceSystemRecords: 
-Id 
-ExampleId 

Entité:

Example: 
Id/int 
SourceSystemRecords/SourceSystemRecords - Referenced 

Requête:

Session.Linq<Example>().Expand("SourceSystemRecords") 
+0

qu'entendez-vous développez, j'utilise NHibernate, pouvez-vous préciser un peu plus s'il vous plaît ? – MexicanHacker

+0

J'ai modifié. -ou- Je devrais demander, je pense que vous voulez juste obtenir des propriétés référencées dans une requête - pas chargement paresseux. Ai-je raison? – cem

+0

cela a fonctionné, merci beaucoup homme. – MexicanHacker

Questions connexes