Esempio n. 1
0
        /// <summary>
        ///     设置逻辑删除方案
        /// </summary>
        /// <param name="name">软删除标记字段名称</param>
        /// <param name="sortDeleteType">数据库字段类型</param>
        /// <param name="value">标记值</param>
        public SetDataMap SetSortDelete(string name, eumSortDeleteType sortDeleteType, object value)
        {
            Check.NotEmpty(name, "字段名称不能为空");
            Check.IsTure(sortDeleteType != eumSortDeleteType.DateTime && value == null, "非时间类型时,value不能为空");

            SortDelete = SortDeleteCacheManger.Cache(name, sortDeleteType, value, ClassProperty.PropertyType.GetGenericArguments()[0]);
            return(this);
        }
Esempio n. 2
0
        ///// <summary>
        ///// 设置外键关系
        ///// </summary>
        ///// <param name="propertyName">实体类属性名称</param>
        ///// <param name="foreignSet">外键Set属性名称</param>
        ///// <param name="foreignProperty">外键字段属性名称</param>
        //public EntityDataMap SetForeignKey(string propertyName, string foreignSet, string foreignProperty)
        //{
        //    return this;
        //}

        /// <summary>
        ///     设置逻辑删除方案
        /// </summary>
        /// <param name="name">软删除标记字段名称</param>
        /// <param name="field">数据库字段类型</param>
        /// <param name="value">标记值</param>
        public SetDataMap SetSortDelete(string name, eumSortDeleteType field, object value)
        {
            Check.NotEmpty(name, "字段名称不能为空");
            Check.IsTure(field != eumSortDeleteType.DateTime && value == null, "非时间类型时,value不能为空");

            SortDelete = SortDeleteCacheManger.Cache(name, field, value, Property.PropertyType.GetGenericArguments()[0]);
            return this;
        }
Esempio n. 3
0
        /// <summary>
        ///     创建逻辑删除功能
        /// </summary>
        /// <param name="name">软删除标记字段名称</param>
        /// <param name="field">数据库字段类型</param>
        /// <param name="value">标记值</param>
        /// <param name="entityType">实体类型</param>
        private SortDeleteCacheManger(string name, eumSortDeleteType field, object value, Type entityType)
        {
            this._field = field;
            this._value = value;
            _entityType = entityType;
            _name       = name;

            Key = name.GetHashCode() + field.GetHashCode();
            if (value != null)
            {
                Key += value.GetHashCode();
            }
            Key += entityType.GetHashCode();
        }
Esempio n. 4
0
 /// <summary>
 ///     获取缓存
 /// </summary>
 /// <param name="name">软删除标记字段名称</param>
 /// <param name="field">数据库字段类型</param>
 /// <param name="value">标记值</param>
 /// <param name="defineType">实体类型</param>
 public static SortDelete Cache(string name, eumSortDeleteType field, object value, Type defineType)
 {
     return(new SortDeleteCacheManger(name, field, value, defineType).GetValue());
 }