`
hugh-lin
  • 浏览: 72892 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

[转] NHibernate对像版本控制使用示例

 
阅读更多

<!---->
<version name="Version" column="VERSION" type="Int64" unsaved-value="0" generated="never" />


NHibernate内建了对像的版本控制技术,就是如果两个进程同时更新一个对像,会有一个进程更新成功,而另一个进程会更新出错.

如下:
(1) 在HBM文件中添加对像的属性配置

CODE:

<version name="Version" column="VERSION" type="Int64" unsaved-value="0" generated="never" />



(2)在表中添加字段
名称:VERSION 类型:bigint


(3)在对像的CLASS中定义一个属性

CODE:

private Int64 version;
      public virtual Int64 Version
      {
        get {
          return version;
        }
        set {
          version = value;
        }
      }



(4)更新对像的代码

CODE:

public virtual bool UpdateObject(Entity entity)
      {
        try
        {
          this.SaveOrUpdate(entity);
          return true;
        }
        catch (Exception ex)
        {
          PrintErrLog("", ex);
        }
        return false;
      }


如果是同步更新,会返加false,提示更新出错.
分享到:
评论

相关推荐

    ASP.NET Mvc + NHibernate + Unity Application Block 示例程序

    4. **数据访问层(DAL)**:使用NHibernate作为ORM工具,通过Session对象执行数据库操作。NHibernate可以处理对象与SQL的转换,实现CRUD操作,并支持复杂的查询。 5. **依赖注入(DI)**:Unity作为DI容器,负责...

    Mvc+NHibernate简单示例

    在Mvc+NHibernate示例中,视图可能从控制器接收经过处理的数据,如查询结果,然后使用 Razor 或其他视图引擎渲染HTML响应给用户。视图通常不包含业务逻辑,而是专注于如何以用户友好的方式呈现数据。 **Mvc...

    NHibernate +asp.net mvc 3.0示例

    NHibernate 是一款强大的对象关系映射(ORM)框架,它允许开发者在.NET环境中使用面向对象的方式操作数据库,而无需直接编写SQL语句。ASP.NET MVC 3.0 是微软提供的一个用于构建可维护、高性能的Web应用程序的框架,...

    fluent nhibernate1.3示例

    **Fluent NHibernate 1.3 示例** 在IT行业中,ORM(对象关系映射...通过深入研究这个示例项目,开发者可以学习到如何在实际的MVC应用中集成和使用Fluent NHibernate,从而更好地理解和掌握ORM框架在.NET开发中的应用。

    Nhibernate示例

    Nhibernate是一款开源的对象关系映射(ORM)框架,主要应用于.NET环境中,它使得开发者可以使用面向对象的方式来操作数据库,而无需关心底层SQL语句的编写。本示例是针对初学者设计的,旨在帮助理解Nhibernate的基本...

    NHIbernate示例

    7. **事务管理**: NHIbernate支持自动事务管理,可以使用`Session.BeginTransaction()`和`Transaction.Commit()`来控制事务的边界。了解如何在业务逻辑中正确使用事务对于保证数据一致性至关重要。 在学习这个示例...

    NHibernate

    8. **事务处理**:NHibernate支持事务管理,可以使用Session的BeginTransaction、Commit和Rollback方法来控制事务的边界。 9. **缓存机制**:NHibernate内置了第一级缓存(Session级别)和第二级缓存...

    Nhibernate框架

    - 适当使用FetchMode.Joined或FetchMode.Subselect来控制关联对象的加载策略。 - 使用二级缓存存储频繁访问的数据,减少数据库查询。 **7. 扩展与社区支持** Nhibernate拥有丰富的第三方插件和扩展,如Fluent...

    ext asp.net mvc nhibernate 完整项目示例

    EXT.NET是用于创建交互式用户界面的JavaScript库,ASP.NET MVC则是微软提供的用于构建可维护性和可测试性更强的Web应用的模型-视图-控制器(MVC)框架,而NHibernate是.NET平台上的一款强大的对象关系映射(ORM)...

    NHibernate_Demo

    【NHibernate_Demo】是一个基于C#编程语言的开源库示例项目,它演示了如何在.NET环境中有效地利用NHibernate库来实现对象关系映射(ORM)。NHibernate是.NET平台上一个强大的ORM框架,旨在简化数据库操作,使得开发...

    NHibernate文档.zip(1.1和2.0版本, 以及所有章节的完整翻译)

    NHibernate是一款强大的对象关系映射(ORM)框架,主要用于.NET平台,它允许开发人员使用面向对象的编程方式来操作数据库。这个压缩包包含了NHibernate的1.1和2.0两个版本的文档,以及所有章节的完整中文翻译,对于...

    NHibernateDemo.rar

    在这个名为 "NHibernateDemo.rar" 的压缩包中,我们找到了一个使用 C# 实现的 NHibernate 访问数据库的示例项目,这对于初学者来说是一个极好的学习资源。下面将详细讲解 NHibernate、C# 以及 ORM 技术在数据库操作...

    NHibernate和ORM实例

    NHibernate是一款强大的对象关系映射(ORM)框架,它是Hibernate的.NET版本。ORM框架的主要作用是消除传统的数据库操作中的SQL代码,通过提供一种面向对象的方式来操作数据库,使得开发人员可以更专注于业务逻辑,而...

    NHibernate 3.0 源代码

    NHibernate 是一个强大的开源对象关系映射(ORM)框架,广泛应用于.NET开发中,它使得开发者可以使用面向对象的方式操作数据库。源代码是理解任何软件内部工作原理的关键,特别是对于像NHibernate这样的复杂库。...

    NHibernate帮助文档

    文档还会包含示例代码和最佳实践,以帮助开发者快速上手并熟练掌握 NHibernate 的使用。 通过深入学习 NHibernate,开发人员可以提升.NET 应用程序的数据访问层的效率和可维护性,同时减少因数据库迁移或结构调整而...

    NHibernate 4.1.1 源码+文档+参考

    同时,NHibernate还支持实体的生命周期管理,如持久化对象的状态转换(Transient、Persistent、Detached)和版本控制(Optimistic Locking、Pessimistic Locking)。 总的来说,这个压缩包为开发者提供了全面了解和...

    使用NHibernate进行开发

    ### 使用NHibernate进行开发 #### 一、简介与背景 NHibernate是一款强大的对象关系映射(Object Relational Mapping,简称ORM)工具,它基于.NET框架,由Hibernate移植而来。NHibernate能够将.NET对象模型与底层...

Global site tag (gtag.js) - Google Analytics