Une de mes applications est un site web public, l'autre est un intranet. Le site web public fonctionne avec un utilisateur à sécurité limitée qui doit accéder à une certaine table par le biais d'une vue, alors que l'intranet peut accéder à la table elle-même.
Cela semble assez simple à mettre en place en utilisant Fluent NHibernate. Dans ma ClassMap, je pourrais faire une vérification comme ceci :
public class MyEntityClassMap : ClassMap<MyEntity>
{
public MyEntityClassMap()
{
if (NHibernateConfig.Current.Context == "intranet")
Table("t_MyEntity");
else
Table("v_MyEntity_pub");
... etc
}
}
Existe-t-il un moyen simple de faire cela pour les fichiers hbm intégrés ? La seule méthode à laquelle je pense serait d'avoir deux copies du fichier hbm, ce qui serait déroutant et loin d'être idéal.
Existe-t-il un meilleur moyen d'obtenir le même résultat ?