[轉] 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,提示更新出錯.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章