mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-24 16:18:47 +08:00
SqlSugar 增强 对 Entity 的 nonPublic SetMethod 支持
This commit is contained in:
parent
3594a72ccb
commit
06e63a9da6
@ -108,7 +108,7 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
continue;
|
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)
|
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.Ldarg_0);
|
||||||
generator.Emit(OpCodes.Ldc_I4, i);
|
generator.Emit(OpCodes.Ldc_I4, i);
|
||||||
generator.Emit(OpCodes.Call, jsonMethod);
|
generator.Emit(OpCodes.Call, jsonMethod);
|
||||||
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod());
|
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod(true));
|
||||||
generator.MarkLabel(endIfLabel);
|
generator.MarkLabel(endIfLabel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -166,7 +166,7 @@ namespace SqlSugar
|
|||||||
generator.Emit(OpCodes.Ldarg_0);
|
generator.Emit(OpCodes.Ldarg_0);
|
||||||
generator.Emit(OpCodes.Ldc_I4, i);
|
generator.Emit(OpCodes.Ldc_I4, i);
|
||||||
BindMethod(generator, columnInfo, i);
|
BindMethod(generator, columnInfo, i);
|
||||||
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod());
|
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod(true));
|
||||||
generator.MarkLabel(endIfLabel);
|
generator.MarkLabel(endIfLabel);
|
||||||
}
|
}
|
||||||
private void BindMethod(ILGenerator generator, EntityColumnInfo columnInfo, int ordinal)
|
private void BindMethod(ILGenerator generator, EntityColumnInfo columnInfo, int ordinal)
|
||||||
|
@ -108,7 +108,7 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
continue;
|
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)
|
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.Ldarg_0);
|
||||||
generator.Emit(OpCodes.Ldc_I4, i);
|
generator.Emit(OpCodes.Ldc_I4, i);
|
||||||
generator.Emit(OpCodes.Call, jsonMethod);
|
generator.Emit(OpCodes.Call, jsonMethod);
|
||||||
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod());
|
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod(true));
|
||||||
generator.MarkLabel(endIfLabel);
|
generator.MarkLabel(endIfLabel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -166,7 +166,7 @@ namespace SqlSugar
|
|||||||
generator.Emit(OpCodes.Ldarg_0);
|
generator.Emit(OpCodes.Ldarg_0);
|
||||||
generator.Emit(OpCodes.Ldc_I4, i);
|
generator.Emit(OpCodes.Ldc_I4, i);
|
||||||
BindMethod(generator, columnInfo, i);
|
BindMethod(generator, columnInfo, i);
|
||||||
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod());
|
generator.Emit(OpCodes.Callvirt, columnInfo.PropertyInfo.GetSetMethod(true));
|
||||||
generator.MarkLabel(endIfLabel);
|
generator.MarkLabel(endIfLabel);
|
||||||
}
|
}
|
||||||
private void BindMethod(ILGenerator generator, EntityColumnInfo columnInfo, int ordinal)
|
private void BindMethod(ILGenerator generator, EntityColumnInfo columnInfo, int ordinal)
|
||||||
|
Loading…
Reference in New Issue
Block a user