/// <summary> /// 获取对象对应映射属性的值 /// </summary> /// <param name="column">对应数据库中的列</param> /// <param name="persistent">映射对象</param> /// <returns>返回的值</returns> protected object GetValue(DBColumn column, object persistent) { if (column.GetHandler != null) { object value = column.GetHandler(persistent); if (value != null) { if (value is bool) { //布尔需要转换为0和1才能插入到数据库中 return(((bool)value) ? 1 : 0); } else if (column.Type.IsEnum) { //枚举需要转换为Int32才能插入到数据库中 return((int)value); } else if (value is Guid) { //Guid处理成为字符串返回,以便插入到数据库中 if (value == null) { return(value); } return(GuidToString(new Guid(value.ToString()))); } else if (value is XmlDocument) { return(((XmlDocument)value).InnerXml); } } return(value); } return(null); }