CodeSmith Nhibernate - PullRequest
       13

CodeSmith Nhibernate

0 голосов
/ 21 декабря 2010

Я занимаюсь разработкой многопоточного приложения с использованием шаблона smith Nhibernate кода, я прочитал, что должен использовать сеанс или каждый поток, проблема в том, что я не знаю, как получить новый сеанс из классов CodeSmith Generated ...

Может ли кто-нибудь дать мне очень простой пример использования CodeSmith Nhibernate в двух разных потоках?или хотя бы лишить меня кода для создания нового сеанса?

заранее спасибо.

1 Ответ

2 голосов
/ 22 декабря 2010

Сгенерированные объекты CodeSmith Manager уже поточно-ориентированы и гарантируют, что каждый поток получит свой собственный объект сеанса NHibernate. Чтобы обеспечить правильное открытие и закрытие потоков, очень важно, чтобы вы всегда распоряжались менеджерами. Вот пример:

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();
}
...