示例#1
0
        /// <summary>
        ///     添加变更
        /// </summary>
        /// <param name="expression">属性表达式,范例:t => t.Name</param>
        /// <param name="newValue">新值,范例:newEntity.Name</param>
        protected void AddChange <TProperty, TValue>(Expression <Func <T, TProperty> > expression, TValue newValue)
        {
            var member      = Lambda.GetMemberExpression(expression);
            var name        = Lambda.GetMemberName(member);
            var description = Reflection.GetDisplayNameOrDescription(member.Member);
            var value       = member.Member.GetPropertyValue(this);

            AddChange(name, description, Convert.To <TValue>(value), newValue);
        }
示例#2
0
        /// <summary>
        ///     添加描述
        /// </summary>
        /// <param name="expression">属性表达式,范例:t => t.Name</param>
        protected void AddDescription <TProperty>(Expression <Func <T, TProperty> > expression)
        {
            var member      = Lambda.GetMember(expression);
            var description = Reflection.GetDisplayNameOrDescription(member);
            var value       = member.GetPropertyValue(this);

            if (Reflection.IsBool(member))
            {
                value = Convert.ToBool(value).Description();
            }

            AddDescription(description, value);
        }
示例#3
0
 /// <summary>
 ///     转换为int
 /// </summary>
 /// <param name="obj">数据</param>
 public static int ToInt(this string obj)
 {
     return(Convert.ToInt(obj));
 }
示例#4
0
 /// <summary>
 ///     转换为可空bool
 /// </summary>
 /// <param name="obj">数据</param>
 public static bool?ToBoolOrNull(this string obj)
 {
     return(Convert.ToBoolOrNull(obj));
 }
示例#5
0
 /// <summary>
 ///     转换为Guid集合
 /// </summary>
 /// <param name="obj">数据,范例: "83B0233C-A24F-49FD-8083-1337209EBC9A,EAB523C6-2FE7-47BE-89D5-C6D440C3033A"</param>
 public static List <Guid> ToGuidList(this string obj)
 {
     return(Convert.ToGuidList(obj));
 }
示例#6
0
 /// <summary>
 ///     转换为可空Guid
 /// </summary>
 /// <param name="obj">数据</param>
 public static Guid?ToGuidOrNull(this string obj)
 {
     return(Convert.ToGuidOrNull(obj));
 }
示例#7
0
 /// <summary>
 ///     获取行数
 /// </summary>
 protected virtual int GetCount(IDbConnection connection)
 {
     return(Convert.ToInt(ToScalar(connection, GetCountSql(), Params)));
 }
示例#8
0
 /// <summary>
 ///     转换为可空double
 /// </summary>
 /// <param name="obj">数据</param>
 public static double?ToDoubleOrNull(this string obj)
 {
     return(Convert.ToDoubleOrNull(obj));
 }
示例#9
0
 /// <summary>
 ///     转换为可空long
 /// </summary>
 /// <param name="obj">数据</param>
 public static long?ToLongOrNull(this string obj)
 {
     return(Convert.ToLongOrNull(obj));
 }
示例#10
0
        /// <summary>
        ///     查找实体列表,不跟踪
        /// </summary>
        /// <param name="ids">逗号分隔的标识列表,范例:"1,2"</param>
        public List <TEntity> FindByIdsNoTracking(string ids)
        {
            var idList = Convert.ToList <TKey>(ids);

            return(FindByIdsNoTracking(idList));
        }
示例#11
0
        /// <summary>
        ///     查找实体列表,不跟踪
        /// </summary>
        /// <param name="ids">逗号分隔的标识列表,范例:"1,2"</param>
        public async Task <List <TEntity> > FindByIdsNoTrackingAsync(string ids)
        {
            var idList = Convert.ToList <TKey>(ids);

            return(await FindByIdsNoTrackingAsync(idList));
        }
示例#12
0
 /// <summary>
 ///     获取整型
 /// </summary>
 /// <param name="connection">数据库连接</param>
 public int ToInt(IDbConnection connection = null)
 {
     return(Convert.ToInt(ToScalar(connection, GetSql(), Params)));
 }
示例#13
0
 /// <summary>
 ///     获取可空整型
 /// </summary>
 /// <param name="connection">数据库连接</param>
 public async Task <int?> ToIntOrNullAsync(IDbConnection connection = null)
 {
     return(Convert.ToIntOrNull(await ToScalarAsync(connection, GetSql(), Params)));
 }
示例#14
0
 /// <summary>
 ///     获取行数
 /// </summary>
 protected virtual async Task <int> GetCountAsync(IDbConnection connection)
 {
     return(Convert.ToInt(await ToScalarAsync(connection, GetCountSql(), Params)));
 }
示例#15
0
 /// <summary>
 ///     转换为可空int
 /// </summary>
 /// <param name="obj">数据</param>
 public static int?ToIntOrNull(this string obj)
 {
     return(Convert.ToIntOrNull(obj));
 }
示例#16
0
 /// <summary>
 ///     转换为日期
 /// </summary>
 /// <param name="obj">数据</param>
 public static DateTime ToDate(this string obj)
 {
     return(Convert.ToDate(obj));
 }
示例#17
0
 /// <summary>
 ///     转换为long
 /// </summary>
 /// <param name="obj">数据</param>
 public static long ToLong(this string obj)
 {
     return(Convert.ToLong(obj));
 }
示例#18
0
 /// <summary>
 ///     转换为可空日期
 /// </summary>
 /// <param name="obj">数据</param>
 public static DateTime?ToDateOrNull(this string obj)
 {
     return(Convert.ToDateOrNull(obj));
 }
示例#19
0
 /// <summary>
 ///     转换为double
 /// </summary>
 /// <param name="obj">数据</param>
 public static double ToDouble(this string obj)
 {
     return(Convert.ToDouble(obj));
 }
示例#20
0
 /// <summary>
 ///     转换为Guid
 /// </summary>
 /// <param name="obj">数据</param>
 public static Guid ToGuid(this string obj)
 {
     return(Convert.ToGuid(obj));
 }
示例#21
0
 /// <summary>
 ///     转换为decimal
 /// </summary>
 /// <param name="obj">数据</param>
 public static decimal ToDecimal(this string obj)
 {
     return(Convert.ToDecimal(obj));
 }
示例#22
0
 /// <summary>
 ///     克隆副本
 /// </summary>
 public virtual TValueObject Clone()
 {
     return(Convert.To <TValueObject>(MemberwiseClone()));
 }