Hey Alec, merci pour la réponse. J'ai piraté un peu d'une solution - il aint joli mais il ne test de fumée cartographies louches à travers de multiples db de
Dans la mise en place ajouter les éléments suivants:
private List<string> sessionKeys;
[SetUp]
public virtual void SetUp()
{
string[] mappingAssemblies = RepositoryTestsHelper.GetMappingAssemblies();
configuration = NHibernateSession.Init(new SimpleSessionStorage(), mappingAssemblies,
new AutoPersistenceModelGenerator().Generate(),
"../../../../app/Humanities.IBusiness.Web/NHibernate.config");
/*NEW CODE */
var configuration2 = NHibernateSession.AddConfiguration(DataGlobals.ROLES_DB_FACTORY_KEY,
mappingAssemblies,
new AutoPersistenceModelGenerator().Generate(),
"../../../../app/Humanities.IBusiness.Web/NHibernateForRolesDb.config",null,null, null);
sessionKeys = new List<string>();
sessionKeys.Add(DataGlobals.DEFAULT_DB_KEY);
sessionKeys.Add(DataGlobals.ROLES_DB_FACTORY_KEY);
Puis, dans les CanConfirmDatabaseMatchesMappings
foreach (var entry in allClassMetadata)
{
bool found = false;
foreach (string key in sessionKeys)
{
ISession session = NHibernateSession.CurrentFor(key);
try
{
session.CreateCriteria(entry.Value.GetMappedClass(EntityMode.Poco))
.SetMaxResults(0).List();
found = true;
}
catch (Exception ex) { }
}
if (found == false)
throw new MappingException("Mapping not found for " + entry.Key.ToString());
}
Je ne sais pas si elle est une réponse complète, mais mieux que rien :)
Toute pensée?
Eh bien, je peux vous répondre que je l'utilise et vraiment besoin de bases de données multiples dans 2 projets :) Lorsqu'un utilisateur crée un nouveau compte, nous créons sur les serveurs de production et de test –
Rafael, bien que les réponses que l'on. Frappez-moi par email quand vous avez une chance. Aimeriez-vous choisir votre cerveau sur plusieurs bases de données en général. Alec – Alec
J'utilise aussi plusieurs bases de données dans tous mes grands projets (4+), pour ce que ça vaut. –