mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-05-02 20:02:47 +08:00
Synchronization code
This commit is contained in:
parent
499a14a9bf
commit
311c6aaaf2
@ -8,7 +8,53 @@ namespace SqlSugar
|
||||
{
|
||||
public class CommonMethodInfo
|
||||
{
|
||||
internal object Context { get; set; }
|
||||
internal object Context { get; set; }
|
||||
|
||||
public int ExecuteReturnIdentity()
|
||||
{
|
||||
if (Context == null) return 0;
|
||||
var result = Context.GetType().GetMyMethod("ExecuteReturnIdentity", 0).Invoke(Context, new object[] { });
|
||||
return (int)result;
|
||||
}
|
||||
public async Task<int> ExecuteReturnIdentityAsync()
|
||||
{
|
||||
if (Context == null) return 0;
|
||||
var result = Context.GetType().GetMyMethod("ExecuteReturnIdentityAsync", 0).Invoke(Context, new object[] { });
|
||||
return await (Task<int>)result;
|
||||
}
|
||||
public int ExecuteCommand()
|
||||
{
|
||||
if (Context == null) return 0;
|
||||
var result = Context.GetType().GetMyMethod("ExecuteCommand", 0).Invoke(Context, new object[] { });
|
||||
return (int)result;
|
||||
}
|
||||
public async Task<int> ExecuteCommandAsync()
|
||||
{
|
||||
if (Context == null) return 0;
|
||||
var result = Context.GetType().GetMyMethod("ExecuteCommandAsync", 0).Invoke(Context, new object[] { });
|
||||
return await (Task<int>)result;
|
||||
}
|
||||
}
|
||||
public class SplitMethodInfo
|
||||
{
|
||||
internal object Context { get; set; }
|
||||
|
||||
public int ExecuteCommand()
|
||||
{
|
||||
if (Context == null) return 0;
|
||||
var result = Context.GetType().GetMyMethod("ExecuteCommand", 0).Invoke(Context, new object[] { });
|
||||
return (int)result;
|
||||
}
|
||||
public async Task<int> ExecuteCommandAsync()
|
||||
{
|
||||
if (Context == null) return 0;
|
||||
var result = Context.GetType().GetMyMethod("ExecuteCommandAsync", 0).Invoke(Context, new object[] { });
|
||||
return await (Task<int>)result;
|
||||
}
|
||||
}
|
||||
public class UpdateCommonMethodInfo
|
||||
{
|
||||
internal object Context { get; set; }
|
||||
|
||||
public int ExecuteCommand()
|
||||
{
|
||||
|
@ -11,7 +11,7 @@ namespace SqlSugar
|
||||
{
|
||||
internal SqlSugarProvider Context { get; set; }
|
||||
internal MethodInfo MethodInfo { get; set; }
|
||||
internal object objectValue { get; set; }
|
||||
internal object objectValue { get; set; }
|
||||
|
||||
public int ExecuteCommand()
|
||||
{
|
||||
@ -41,12 +41,24 @@ namespace SqlSugar
|
||||
var result = inertable.GetType().GetMyMethod("ExecuteReturnIdentityAsync",0).Invoke(inertable, new object[] { });
|
||||
return await (Task<int>)result;
|
||||
}
|
||||
public CommonMethodInfo SplitTable()
|
||||
|
||||
public CommonMethodInfo IgnoreColumns(params string [] ignoreColumns)
|
||||
{
|
||||
var inertable = MethodInfo.Invoke(Context, new object[] { objectValue });
|
||||
var newMethod = inertable.GetType().GetMyMethod("IgnoreColumns", 1, typeof(string[]));
|
||||
var result = newMethod.Invoke(inertable, new object[] { ignoreColumns });
|
||||
return new CommonMethodInfo()
|
||||
{
|
||||
Context = result
|
||||
};
|
||||
}
|
||||
|
||||
public SplitMethodInfo SplitTable()
|
||||
{
|
||||
var inertable = MethodInfo.Invoke(Context, new object[] { objectValue });
|
||||
var newMethod = inertable.GetType().GetMyMethod("SplitTable", 0);
|
||||
var result = newMethod.Invoke(inertable, new object[] { });
|
||||
return new CommonMethodInfo()
|
||||
return new SplitMethodInfo()
|
||||
{
|
||||
Context = result
|
||||
};
|
||||
|
@ -28,13 +28,22 @@ namespace SqlSugar
|
||||
var result = inertable.GetType().GetMyMethod("ExecuteCommandAsync",0).Invoke(inertable, new object[] { });
|
||||
return await (Task<int>)result;
|
||||
}
|
||||
|
||||
public CommonMethodInfo SplitTable()
|
||||
public UpdateCommonMethodInfo IgnoreColumns(params string[] ignoreColumns)
|
||||
{
|
||||
var inertable = MethodInfo.Invoke(Context, new object[] { objectValue });
|
||||
var newMethod = inertable.GetType().GetMyMethod("IgnoreColumns", 1,typeof(string[]));
|
||||
var result = newMethod.Invoke(inertable, new object[] { ignoreColumns });
|
||||
return new UpdateCommonMethodInfo()
|
||||
{
|
||||
Context = result
|
||||
};
|
||||
}
|
||||
public UpdateCommonMethodInfo SplitTable()
|
||||
{
|
||||
var inertable = MethodInfo.Invoke(Context, new object[] { objectValue });
|
||||
var newMethod = inertable.GetType().GetMyMethod("SplitTable", 0);
|
||||
var result = newMethod.Invoke(inertable, new object[] { });
|
||||
return new CommonMethodInfo()
|
||||
return new UpdateCommonMethodInfo()
|
||||
{
|
||||
Context = result
|
||||
};
|
||||
|
@ -25,6 +25,13 @@ namespace SqlSugar
|
||||
{
|
||||
return type.GetMethods().FirstOrDefault(it => it.Name == name && it.GetParameters().Length == argCount);
|
||||
}
|
||||
public static MethodInfo GetMyMethod(this Type type, string name, int argCount,Type parameterType)
|
||||
{
|
||||
return type.GetMethods().FirstOrDefault(it =>
|
||||
it.Name == name &&
|
||||
it.GetParameters().Length == argCount&&
|
||||
it.GetParameters().First().ParameterType==parameterType);
|
||||
}
|
||||
public static List<T> ToList<T>(this T thisValue,Func<T,T> action) where T:class,new()
|
||||
{
|
||||
return new List<T> { thisValue };
|
||||
|
Loading…
Reference in New Issue
Block a user