Question

Voici une version simplifiée de mon modèle de base de données. J'ai deux tables: "Image", et "HostingProvider". qui ressemblent à ceci:

[Image]

  • id
  • nom de fichier
  • hostingprovider_id

[Fournisseur d'hébergement]

  • id
  • base_url

Image HostingproviderId est une relation de clé étrangère plusieurs-à-un avec la table HostingProvider. (Chaque image a un fournisseur d'hébergement).

En gros, je veux que ma classe Image ressemble à ceci:

[Image]

  • ID
  • base_url
  • nom de fichier

Sous NHibernate, comment puis-je créer un fichier de mappage qui associera l'url base_ de la table HostingProvider à la classe Image?

Était-ce utile?

La solution

Ce que vous cherchez, c'est ceci:

http: // ayende .com / Blog / archive / 2007/04/24 / Multi-Table-Entities-in-NHibernate.aspx

Voici un aperçu de ce à quoi il ressemble:

<class name="Person">

       <id name="Id" column="person_id" unsaved-value="0">

              <generator class="native"/>

       </id>



       <property name="Name"/>

       <property name="Sex"/>



       <join table="address">

              <key column="address_id"/>

              <property name="Address"/>

              <property name="Zip"/>

              <property name="Country"/>

              <property name="HomePhone"/>

              <property name="BusinessPhone"/>

       </join>

</class> 

Autres conseils

public class Image {
    public virtual HostingProvider HostingProvider { get; set; } // NHibernate takes care of this
    public virtual string BaseUrl { get { return HostingProvider.BaseUrl; } }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top