SqlSugar 增强 对 Entity 的 nonPublic SetMethod 支持

This commit is contained in:
Yang Fan 2019-12-31 15:35:10 +08:00
parent 3594a72ccb
commit 06e63a9da6
2 changed files with 6 additions and 6 deletions

View File

@ -108,7 +108,7 @@ namespace SqlSugar
{
continue;
}
if (columnInfo != null && columnInfo.PropertyInfo.GetSetMethod() != null)
if (columnInfo != null && columnInfo.PropertyInfo.GetSetMethod(true) != null)
{
if (columnInfo.PropertyInfo.PropertyType.IsClass() && columnInfo.PropertyInfo.PropertyType != UtilConstants.ByteArrayType && columnInfo.PropertyInfo.PropertyType != UtilConstants.ObjType)
{
@ -150,7 +150,7 @@ namespace SqlSugar
generator.Emit(OpCodes.Ldarg_0);
generator.Emit(OpCodes.Ldc_I4, i);
generator.Emit(OpCodes.Call, jsonMethod);
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod());
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod(true));
generator.MarkLabel(endIfLabel);
}
}
@ -166,7 +166,7 @@ namespace SqlSugar
generator.Emit(OpCodes.Ldarg_0);
generator.Emit(OpCodes.Ldc_I4, i);
BindMethod(generator, columnInfo, i);
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod());
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod(true));
generator.MarkLabel(endIfLabel);
}
private void BindMethod(ILGenerator generator, EntityColumnInfo columnInfo, int ordinal)

View File

@ -108,7 +108,7 @@ namespace SqlSugar
{
continue;
}
if (columnInfo != null && columnInfo.PropertyInfo.GetSetMethod() != null)
if (columnInfo != null && columnInfo.PropertyInfo.GetSetMethod(true) != null)
{
if (columnInfo.PropertyInfo.PropertyType.IsClass() && columnInfo.PropertyInfo.PropertyType != UtilConstants.ByteArrayType && columnInfo.PropertyInfo.PropertyType != UtilConstants.ObjType)
{
@ -150,7 +150,7 @@ namespace SqlSugar
generator.Emit(OpCodes.Ldarg_0);
generator.Emit(OpCodes.Ldc_I4, i);
generator.Emit(OpCodes.Call, jsonMethod);
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod());
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod(true));
generator.MarkLabel(endIfLabel);
}
}
@ -166,7 +166,7 @@ namespace SqlSugar
generator.Emit(OpCodes.Ldarg_0);
generator.Emit(OpCodes.Ldc_I4, i);
BindMethod(generator, columnInfo, i);
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod());
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod(true));
generator.MarkLabel(endIfLabel);
}
private void BindMethod(ILGenerator generator, EntityColumnInfo columnInfo, int ordinal)