CodeSmith Nhibernate
-
12-10-2019 - |
Question
Im développe une application multithread en utilisant le code smith Nhibernate modèle, je lis que je dois utiliser une session ou chaque fil, problème est que je ne sais pas comment obtenir une nouvelle session de cours CodeSmith Generated ...
tout organisme peut me donner un exemple très simple de la façon d'utiliser CodeSmith Nhibernate dans un 2 fils différents? ou au moins privide moi de code pour créer nouvelle session?
Merci d'avance.
La solution
Les objets Manager générés CodeSmith sont thread déjà, et veiller à ce que chaque thread obtenir son propre objet de session NHibernate. Pour veiller à ce que les discussions s'ouvertes et fermées correctement, il est très important que vous avez toujours disposer des gestionnaires. Voici un exemple:
IManagerFactory managerFactory = new ManagerFactory();
using (ICategoryManager categoryManager = managerFactory.GetCategoryManager())
{
Category categoryA = new Category();
categoryA.Id = "TEST1";
categoryA.Name = "Test 1";
categoryA.Descn = "Hello world!";
categoryManager.Save(categoryA);
categoryManager.Session.CommitChanges();
}