Support aot

This commit is contained in:
sunkaixuan
2023-11-17 02:02:16 +08:00
parent a41ab29c4b
commit 520b48ef81
2 changed files with 14 additions and 1 deletions

View File

@@ -103,7 +103,7 @@ namespace SqlSugar
{
name = column.PropertyName;
}
var value = ValueConverter(column, PropertyCallAdapterProvider<T>.GetInstance(column.PropertyName).InvokeGet(item));
var value = ValueConverter(column, GetValue(item,column));
if (column.SqlParameterDbType != null&& column.SqlParameterDbType is Type && UtilMethods.HasInterface((Type)column.SqlParameterDbType, typeof(ISugarDataConverter)))
{
var columnInfo = column;
@@ -155,6 +155,18 @@ namespace SqlSugar
return dt;
}
private static object GetValue(T item, EntityColumnInfo column)
{
if (StaticConfig.EnableAot)
{
return column.PropertyInfo.GetValue(item);
}
else
{
return PropertyCallAdapterProvider<T>.GetInstance(column.PropertyName).InvokeGet(item);
}
}
private string GetTableName()
{
if (this.AsName.HasValue())

View File

@@ -8,6 +8,7 @@ namespace SqlSugar
{
public class StaticConfig
{
public static bool EnableAot { get; set; }
public static Func<string,string> Encode { get; set; }
public static Func<string,string> Decode{ get; set; }
public static bool AppContext_ConvertInfinityDateTime { get; set; }