我是NHibernate的新手,在过早关闭会话时遇到了一些问题.我通过重用会话而不是每个事务打开一个会话来暂时解决了这个问题.但是,我的印象是,每次需要时打开会话都是会话生命周期管理的推荐方法.没有?
所以; 推荐的会话方式是什么?他们的一生应该是什么?一次会议交易?一个单一的会议来处理一切?或者是什么?
编辑:
请注意,我的应用程序体系结构是与服务器端服务通信的桌面应用程序,这是使用NHibernate + Fluent进行的所有数据库处理.(如果这有任何区别......)
我正在使用NHibernate + Fluent来处理我的数据库,我在查询引用其他数据的数据时遇到了问题.我的简单问题是:我是否需要在映射中定义一些"BelongsTo"等,或者仅在一侧定义引用就足够了(参见下面的映射示例)?如果是这样 - 怎么样?如果没有请继续阅读..看看这个简化的例子 - 从两个模型类开始:
public class Foo
{
private IList<Bar> _bars = new List<Bar>();
public int Id { get; set; }
public string Name { get; set; }
public IList<Bar> Bars
{
get { return _bars; }
set { _bars = value; }
}
}
public class Bar
{
public int Id { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我已经为这些类创建了映射.这真的是我想知道我是否做对了.我是否需要从Bar("BelongsTo"等)定义一个回到Foo的绑定,还是一种方法?或者我是否需要在模型类中定义从Foo到Bar的关系等等?以下是映射:
public class FooMapping : ClassMap<Foo>
{
public FooMapping()
{
Not.LazyLoad();
Id(c => …Run Code Online (Sandbox Code Playgroud)