Example #1
0
        /// <summary>
        /// 检查 SysNumber 特性是否存在
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="_Entity"></param>
        /// <param name="_Action"></param>
        private void CheckedSysNumberAttribute <T>(T _Entity) where T : class
        {
            RepositoryHelper.CheckedSysNumberAttribute <T>(_Entity, (_PropertyInfo, _Length, _String) =>
            {
                var _Number = this.ExecuteScalar("SELECT ISNULL(MAX(CONVERT(INT," + _PropertyInfo.Name + ")),0) FROM " + typeof(T).Name).ToInt32() + 1;

                var _Number_Str = _Number.ToString().PadLeft(_Length, _String);

                if (_PropertyInfo.PropertyType == typeof(int) && _PropertyInfo.PropertyType == typeof(int?))
                {
                    _PropertyInfo.SetValue(_Entity, _Number_Str.ToInt32());
                }
                else
                {
                    _PropertyInfo.SetValue(_Entity, _Number_Str);
                }
            });
        }