2010-01-07 10 views
0

Je définis mon modèle de données en utilisant les classes + mappages fluides nHibernate POCO. J'utilise également le schéma nHiberate pour créer un schéma de base de données. Tout fonctionne bien, mais il y a un fait désagréable. Lorsque j'utilise une référence plusieurs-à-un référece est nommé par quelque chose de similaire à GUID au lieu de n'importe quel nom descriptif. est ici un morceau de SQL:Fluent nHibernate - nom de référence plusieurs-à-un hostile

alter table [Odbiorca] 
     add constraint FK291D244B5D9E8115 
     foreign key (Adr_IdKraj) 
     references [Kraj] 

Je veux nHiberate générer quelque chose comme Sql Studio ne [FK_Odbiorca_Kraj] comme. Est-ce faisable en dépassant les mappages ou en créant une convention?

Répondre

2

Je ne sais pas Fluent, mais avec mapping XML régulier vous ne pouvez utiliser l'attribut foreign-key:

<many-to-one 
    name="Kraj" 
    class="Kraj" 
    column="Adr_IdKraj" 
    foreign-key="FK_Odbiorca_Kraj"/> 
+3

FNH: 'Références (x => x.Kraj) .ForeignKey ("FK_Odbiorca_Kraj"); ' –

+0

@ James Gregory: Comment faites-vous la même chose en utilisant une convention? – Trygve

+0

Voir: [ForeignKeyConvention dans le wiki] (http://wiki.fluentnhibernate.org/Available_conventions#ForeignKeyConvention). –