我正在使用 code smith Nhibernate 模板开发一个多线程应用程序,我读到我必须使用一个会话或每个线程,问题是我不知道如何从 CodeSmith 生成的类中获取一个新会话......
任何人都可以为我提供一个非常简单的示例,说明如何在 2 个不同的线程中使用 CodeSmith Nhibernate?或者至少让我获得创建新会话的代码?
提前致谢。
我正在使用 code smith Nhibernate 模板开发一个多线程应用程序,我读到我必须使用一个会话或每个线程,问题是我不知道如何从 CodeSmith 生成的类中获取一个新会话......
任何人都可以为我提供一个非常简单的示例,说明如何在 2 个不同的线程中使用 CodeSmith Nhibernate?或者至少让我获得创建新会话的代码?
提前致谢。
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();
}