The advanced save condition column supports custom types

This commit is contained in:
sunkaixuan 2023-09-19 14:32:31 +08:00
parent 378ef5ab20
commit 9a1005a407

View File

@ -507,6 +507,15 @@ namespace SqlSugar
value = Convert.ToInt64(value);
}
}
if (item.SqlParameterDbType != null && item.SqlParameterDbType is Type && UtilMethods.HasInterface((Type)column.SqlParameterDbType, typeof(ISugarDataConverter)))
{
var columnInfo = item;
var type = columnInfo.SqlParameterDbType as Type;
var ParameterConverter = type.GetMethod("ParameterConverter").MakeGenericMethod(columnInfo.PropertyInfo.PropertyType);
var obj = Activator.CreateInstance(type);
var p = ParameterConverter.Invoke(obj, new object[] { value, 100 }) as SugarParameter;
value = p.Value;
}
condition.ConditionalList.Add(new KeyValuePair<WhereType, ConditionalModel>(i==0?WhereType.Or :WhereType.And, new ConditionalModel()
{
FieldName = item.DbColumnName,