C# Fluent NHibernate乐观锁和延迟加载

C# Fluent NHibernate乐观锁和延迟加载,c#,fluent-nhibernate,C#,Fluent Nhibernate,我对流利的nhibernate(以及冬眠)还不熟悉。我使用LLBLGEN生成了我的nhibernate代码。现在,从我在教程中看到的,LLBLGEN生成的代码不是很好,所以我有点怀疑,并决定检查输出 在将属性映射到列之前,每个映射文件的构造函数中都会调用以下行: Table("TABLE_NAME"); OptimisticLock.None(); LazyLoad(); 我理解表方法,但其他方法呢?它们真的有必要吗?请将我的回答作为从互联网上现有文献中的推论,因为我不是NHibernate方

我对流利的nhibernate(以及冬眠)还不熟悉。我使用LLBLGEN生成了我的nhibernate代码。现在,从我在教程中看到的,LLBLGEN生成的代码不是很好,所以我有点怀疑,并决定检查输出

在将属性映射到列之前,每个映射文件的构造函数中都会调用以下行:

Table("TABLE_NAME");
OptimisticLock.None();
LazyLoad();

我理解
方法,但其他方法呢?它们真的有必要吗?

请将我的回答作为从互联网上现有文献中的推论,因为我不是NHibernate方面的专家

首先是
LazyLoad()句子。
无论项目上如何定义默认的延迟加载策略,
LazyLoad()语句NHibernate以在执行映射时实现延迟加载

其次,
OptimisticLock.None()句子。
从Ayende的相关职位到:

无基本上意味着我们退回到事务语义 我们在数据库中使用的。数据库可能会把我们排除在外,但把我们放在一边 从那以后,我们真的不太关心事情

以及检讨

如果启用动态更新,则可以选择乐观锁定策略:

  • 版本:检查版本/时间戳列
  • 全部:检查所有列
  • 脏:检查更改的列,允许一些并发更新
  • 无:不要使用乐观锁定
我假设使用
OptimisticLock.None()语句告诉NHibernate,它不建立任何锁定策略,并将锁定行为延迟到底层数据库