mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-07-16 07:57:33 +08:00
performance optimization
This commit is contained in:
parent
2b98357cf1
commit
d96d00c97c
@ -16,7 +16,7 @@ namespace OrmTest.Models
|
|||||||
public int? SchoolId { get; set; }
|
public int? SchoolId { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public DateTime? CreateTime { get; set; }
|
public DateTime? CreateTime { get; set; }
|
||||||
[SugarColumn(IsIgnore=true)]
|
[SugarColumn(IsIgnore=true,NoSerialize =true)]
|
||||||
public int TestId { get; set; }
|
public int TestId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
public class MyContractResolver : Newtonsoft.Json.Serialization.DefaultContractResolver
|
public class MyContractResolver : Newtonsoft.Json.Serialization.DefaultContractResolver
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
public MyContractResolver()
|
public MyContractResolver()
|
||||||
{
|
{
|
||||||
@ -35,24 +35,31 @@ namespace SqlSugar
|
|||||||
|
|
||||||
protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
|
protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
|
||||||
{
|
{
|
||||||
var list = type.GetProperties()
|
if (type.IsAnonymousType()||type==UtilConstants.ObjType|| type.Namespace=="SqlSugar"|| type.IsClass()==false)
|
||||||
.Where(x => !x.GetCustomAttributes(true).Any(a => (a is SugarColumn) && ((SugarColumn)a).NoSerialize == true))
|
|
||||||
.Select(p => new JsonProperty()
|
|
||||||
{
|
|
||||||
PropertyName = p.Name,
|
|
||||||
PropertyType = p.PropertyType,
|
|
||||||
Readable = true,
|
|
||||||
Writable = true,
|
|
||||||
ValueProvider = base.CreateMemberValueProvider(p)
|
|
||||||
}).ToList();
|
|
||||||
foreach (var item in list)
|
|
||||||
{
|
{
|
||||||
if (UtilMethods.GetUnderType(item.PropertyType) == UtilConstants.DateType)
|
return base.CreateProperties(type, memberSerialization);
|
||||||
{
|
}
|
||||||
CreateDateProperty(type, item);
|
else
|
||||||
}
|
{
|
||||||
|
var list = type.GetProperties()
|
||||||
|
.Where(x => !x.GetCustomAttributes(true).Any(a => (a is SugarColumn) && ((SugarColumn)a).NoSerialize == true))
|
||||||
|
.Select(p => new JsonProperty()
|
||||||
|
{
|
||||||
|
PropertyName = p.Name,
|
||||||
|
PropertyType = p.PropertyType,
|
||||||
|
Readable = true,
|
||||||
|
Writable = true,
|
||||||
|
ValueProvider = base.CreateMemberValueProvider(p)
|
||||||
|
}).ToList();
|
||||||
|
foreach (var item in list)
|
||||||
|
{
|
||||||
|
if (UtilMethods.GetUnderType(item.PropertyType) == UtilConstants.DateType)
|
||||||
|
{
|
||||||
|
CreateDateProperty(type, item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
return list;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void CreateDateProperty(Type type, JsonProperty item)
|
private static void CreateDateProperty(Type type, JsonProperty item)
|
||||||
@ -66,5 +73,5 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user