NHibernate持久化与合法性验证回调-NHibenate入门到精通系列5

本节为您介绍: NHibernate持久化 与合法性验证回调内容。

一: NHibernate持久化 介绍

首先来了解一个概念: 何为NHibernate持久化?[Persistent]

持久化是指将(内存中)数据保存到外部介质,如磁盘中。


然后再来了解一个新概念: 何为 NHibernate持久化类?[Persistent Classes]

持久化类其实就是持久化的一个数据载体,你也可以简单的理解为实体类。


持久化类,有它自己的需要满足的条件:

1:必须有一个无参数的构造函数[好说一个]。

2:需要有属性[可选,有多个]。

3:使用非可继承的类标识(non-sealed)或者虚方法[可选]


二: NHibernate生命周期 中回调介绍

其实很简单,就是一个接口ILifecycle,只要让实体类继承自这接口,然后实现相关方法即可。

ILifecycle接口 的属性:

public interface ILifecycle

{

 LifecycleVeto OnDelete(ISession s);

 void OnLoad(ISession s, object id);

 LifecycleVeto OnSave(ISession s);

LifecycleVeto OnUpdate(ISession s);

}

接口的方法在不同的时候被触发:

OnSave:在实体调用save、insert时回调

OnUpdate:在实体调用update的时回调

OnDelete:在实体调用delete时回调

OnLoad:在实体刚load时回调




三、 NHibernate合法性验证回调 介绍

同样也很简单,仍是一个回调接口:IValidatable

IValidatable接口 属性:

public interface IValidatable
{
        void Validate();
}

Validate()由于是合法性验证回调查,应该将经常性被调用到。

给出简单的接口示例:

public class Entity : IValidatable
{

        ....
        public virtual decimal Price { get; set; }


        public virtual void Validate()
        {
            if (Price > 100)
            {
                throw new ValidationFailure("价钱太高了!");
            }
        }
}

本文 NHibernate持久化 与合法性验证回调内容介绍到此,内容比较简单,希望对网友开发有所用!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值