/// <summary> /// 将字段值从数据库格式转换为本机格式 /// </summary> /// <param name="field">字段信息</param> /// <param name="value">字段值</param> /// <returns></returns> public static object ConvertFieldValueFromDbValue(IDataFieldModel field, object value) { if (field != null) { var c = field.GetDbValueConvertor(); if (c != null) { return(c.ParseValueFromDbValue(value, field.GetClrType())); } else { if (value != null && value is IDbValueConvertor) { return(((IDbValueConvertor)value).ParseValueFromDbValue(value, value.GetType())); } } } return(value); }
/// <summary> /// 字段值转换为数据库格式 /// </summary> /// <param name="field">字段信息</param> /// <param name="value">字段值</param> /// <returns></returns> public static object ConvertFieldValueToDbValue(IDataFieldModel field, object value) { if (field != null) { var c = field.GetDbValueConvertor(); if (c != null) { return(c.FormateValueToDbValue(value)); } else { Type clr = field.GetClrType(); if (clr.FindInterface(typeof(IDbValueConvertor))) { IDbValueConvertor xx = clr.CreateObject() as IDbValueConvertor; return(xx.FormateValueToDbValue(value)); } } } return(value); }