/// <summary>
 /// 与指定的上一个数据动作建立关联
 /// </summary>
 /// <param name="lastAction"></param>
 protected virtual void Contact(DataAction lastAction)
 {
     this.Last = lastAction;
     if (lastAction != null)
     {
         this.Head = lastAction.Head;
     }
 }
 protected virtual void ContactNext(DataAction nextAction)
 {
     this.Next = nextAction;
 }
 protected DataAction(DataAction lastAction) : this()
 {
     this.Contact(lastAction);
 }
 internal FilterAction(Expression <Func <T, Boolean> > condition, FilterCombinationType combinationType = FilterCombinationType.AndAlso, DataAction lastAction = null)
 {
     this.Condition       = condition;
     this.CombinationType = combinationType;
 }