This commit is contained in:
sunkaixuan 2017-08-26 00:37:38 +08:00
parent be29201171
commit 32d2a8b4ee

View File

@ -24,34 +24,25 @@ namespace SqlSugar
var entityType = parameters.GetType(); var entityType = parameters.GetType();
var isDictionary = entityType.IsIn(UtilConstants.DicArraySO, UtilConstants.DicArraySS); var isDictionary = entityType.IsIn(UtilConstants.DicArraySO, UtilConstants.DicArraySS);
if (isDictionary) if (isDictionary)
{
DictionaryToParameters(parameters, sqlParameterKeyWord, result, entityType); DictionaryToParameters(parameters, sqlParameterKeyWord, result, entityType);
}
else else
{
ProperyToParameter(parameters, propertyInfo, sqlParameterKeyWord, result, entityType); ProperyToParameter(parameters, propertyInfo, sqlParameterKeyWord, result, entityType);
} }
}
return result.ToArray(); return result.ToArray();
} }
protected void ProperyToParameter(object parameters, PropertyInfo[] propertyInfo, string sqlParameterKeyWord, List<SugarParameter> listParams, Type entityType) protected void ProperyToParameter(object parameters, PropertyInfo[] propertyInfo, string sqlParameterKeyWord, List<SugarParameter> listParams, Type entityType)
{ {
PropertyInfo[] properties = null; PropertyInfo[] properties = null;
if (propertyInfo != null) if (propertyInfo != null)
{
properties = propertyInfo; properties = propertyInfo;
}
else else
{
properties = entityType.GetProperties(); properties = entityType.GetProperties();
}
foreach (PropertyInfo properyty in properties) foreach (PropertyInfo properyty in properties)
{ {
var value = properyty.GetValue(parameters, null); var value = properyty.GetValue(parameters, null);
if (properyty.PropertyType.IsEnum()) if (properyty.PropertyType.IsEnum())
{
value = Convert.ToInt64(value); value = Convert.ToInt64(value);
}
if (value == null || value.Equals(DateTime.MinValue)) value = DBNull.Value; if (value == null || value.Equals(DateTime.MinValue)) value = DBNull.Value;
if (properyty.Name.ToLower().Contains("hierarchyid")) if (properyty.Name.ToLower().Contains("hierarchyid"))
{ {