我正在使用代码Smith NHibernate模板开发多线程应用程序,我读到我必须使用会话或每个线程,问题是我不知道如何从Codesmith生成的类中获得新的会话...

是否可以为我提供一个非常非常简单的示例,说明如何在两个不同的线程中使用代码匠Nhibernate?还是至少私下我的代码来创建新会话?

提前致谢。

有帮助吗?

解决方案

代码史密斯生成的管理器对象已经是安全的,并确保每个线程将获得其自己的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();
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top