C# Fluent NHibernate乐观锁和延迟加载
我对流利的nhibernate(以及冬眠)还不熟悉。我使用LLBLGEN生成了我的nhibernate代码。现在,从我在教程中看到的,LLBLGEN生成的代码不是很好,所以我有点怀疑,并决定检查输出 在将属性映射到列之前,每个映射文件的构造函数中都会调用以下行:C# Fluent NHibernate乐观锁和延迟加载,c#,fluent-nhibernate,C#,Fluent Nhibernate,我对流利的nhibernate(以及冬眠)还不熟悉。我使用LLBLGEN生成了我的nhibernate代码。现在,从我在教程中看到的,LLBLGEN生成的代码不是很好,所以我有点怀疑,并决定检查输出 在将属性映射到列之前,每个映射文件的构造函数中都会调用以下行: Table("TABLE_NAME"); OptimisticLock.None(); LazyLoad(); 我理解表方法,但其他方法呢?它们真的有必要吗?请将我的回答作为从互联网上现有文献中的推论,因为我不是NHibernate方
Table("TABLE_NAME");
OptimisticLock.None();
LazyLoad();
我理解
表
方法,但其他方法呢?它们真的有必要吗?请将我的回答作为从互联网上现有文献中的推论,因为我不是NHibernate方面的专家
首先是LazyLoad()代码>句子。
无论项目上如何定义默认的延迟加载策略,LazyLoad()代码>语句NHibernate以在执行映射时实现延迟加载
其次,OptimisticLock.None()代码>句子。
从Ayende的相关职位到:
无基本上意味着我们退回到事务语义
我们在数据库中使用的。数据库可能会把我们排除在外,但把我们放在一边
从那以后,我们真的不太关心事情
以及检讨
如果启用动态更新,则可以选择乐观锁定策略:
- 版本:检查版本/时间戳列
- 全部:检查所有列
- 脏:检查更改的列,允许一些并发更新
- 无:不要使用乐观锁定
我假设使用OptimisticLock.None()代码上的code>语句告诉NHibernate,它不建立任何锁定策略,并将锁定行为延迟到底层数据库