public void SetProperty <TType>(string propertyName, Func <TEntity, TType> setterFunc)
        {
            TemporarypropertyHolder holder = new TemporarypropertyHolder();

            holder.propertyName     = propertyName;
            holder.propertyFunction = t => t.SetPropertyValue(propertyName, setterFunc(t));
            _tempPrpertyHolder.Add(holder);
        }
        public void SetPropertyExpression(string propertyName, string valueExpression)
        {
            TemporarypropertyHolder holder = new TemporarypropertyHolder();

            holder.propertyName       = propertyName;
            holder.propertyexpression = valueExpression;


            _tempPrpertyHolder.Add(holder);
        }
        internal void SetAction(Action <TEntity> action)
        {
            Func <TEntity, bool> actionProp = t =>
            {
                action(t);
                return(true);
            };
            TemporarypropertyHolder holder = new TemporarypropertyHolder();

            holder.propertyName     = actionpropertyName;
            holder.propertyFunction = actionProp;
            _tempPrpertyHolder.Add(holder);
        }