C# 纽伯奈特法典

C# 纽伯奈特法典,c#,multithreading,nhibernate,codesmith,C#,Multithreading,Nhibernate,Codesmith,我正在使用CodeSmith Nhibernate模板开发一个多线程应用程序,我读到我必须使用一个会话或每个线程,问题是我不知道如何从CodeSmith生成的类中获取新会话 有谁能给我提供一个非常简单的例子,说明如何在两个不同的线程中使用CodeSmith Nhibernate?或者至少让我拥有创建新会话的代码 提前感谢。CodeSmith生成的管理器对象已经是线程安全的,并确保每个线程都将获得自己的NHibernate会话对象。为了确保线程能够正确地打开和关闭,始终处理管理器是非常重要的。以下

我正在使用CodeSmith Nhibernate模板开发一个多线程应用程序,我读到我必须使用一个会话或每个线程,问题是我不知道如何从CodeSmith生成的类中获取新会话

有谁能给我提供一个非常简单的例子,说明如何在两个不同的线程中使用CodeSmith Nhibernate?或者至少让我拥有创建新会话的代码


提前感谢。

CodeSmith生成的管理器对象已经是线程安全的,并确保每个线程都将获得自己的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();
}