13

J'ai une application comme ceci:Prévenir Nhibernate schemaexport de générer des clés étrangères sur a many

HasMany(x => x.Orders).KeyColumn("CustomerID"); 

Ce qui est à l'origine une contrainte comme celui-ci à générer par schemaexport:

alter table [CustomerOrder] 
    add constraint FK45B3FB85AF01218D 
    foreign key (CustomerID) 
    references [Customer] 

I J'ai essayé d'ajouter .NotFound.Ignore() comme sur un mappage References() pour désactiver la génération de la contrainte mais cela ne fonctionne pas.

Peut-on définir un mappage qui forcera SchemaExport à ne pas générer la contrainte?

Répondre

22

figured it out:

HasMany(x => x.Orders).KeyColumn("CustomerID").ForeignKeyConstraintName("none"); 

enterré dans la source est un chèque d'ignorer la création si le nom est "none"

+2

Merci pour la découverte! J'avais besoin de ceci pour empêcher les clés étrangères entre les bases de données. < Pour les utilisateurs non-utilisateurs: foreign-key = "none" – Groxx

+2

Dans les versions ultérieures de FluentNHibernate, vous utilisez '.ForeignKey (" none ")' pour accomplir ceci; '.ForeignKeyConstraintName()' n'est plus une fonction. –