2010-05-17 4 views
0

J'ai une classe dont la clé primaire est une seule colonne, qui est une référence à la clé primaire d'une seule colonne d'un autre objet. La seule façon que je peux voir pour mapper ceci dans NHibernate est de prétendre que c'est une clé composée (même si c'est une seule clé de colonne) et d'utiliser le mappage de référence de clé. Y a-t-il un moyen plus approprié?ID de colonne unique NHibernate faisant référence à un autre objet

Snippet ci-dessous:

class CompanyExportCriteria 
    public Company Company { get; set; } 

class Company 
    public string Id { get; set; } 

Company cartes à une table de la société (ID PK)
cartes CompanyExportCriteria à une table de COMPANY_EXPORT_CRITERIA comme la clé (Company_id). PS - J'utilise Fluent NHibernate pour la cartographie.

Répondre

1

Voici un lien vers l'un à une documentation cartographique pour Fluent NHibernate:

http://wiki.fluentnhibernate.org/Fluent_mapping#HasOne_.2F_one-to-one

Voici un lien vers la même chose pour NHibernate:

http://www.nhforge.org/doc/nh/en/index.html#mapping-declaration-onetoone

Vous shouldn Pas besoin d'une clé composite.

+0

La documentation de NHibernate a aidé, en particulier la partie sur le mécanisme de générateur d'ID «étranger». La syntaxe que je devais utiliser ne semble pas être une syntaxe idéale (d'abord, n'utilisant pas de lambda pour le paramètre Foreign.) Mais voici ce que je dois faire: Id ("COMPANY_ID"); .GeneratedBy. Entreprise étrangère") – Rich