mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2026-02-27 16:50:33 +08:00
DynamicProperyBuilder.WithCache
This commit is contained in:
@@ -12,6 +12,7 @@ namespace SqlSugar
|
||||
|
||||
public class DynamicProperyBuilder
|
||||
{
|
||||
private bool IsCache = false;
|
||||
public static DynamicProperyBuilder CopyNew()
|
||||
{
|
||||
return new DynamicProperyBuilder();
|
||||
@@ -26,10 +27,29 @@ namespace SqlSugar
|
||||
baseBuilder.propertyAttr.Add(addItem);
|
||||
return this;
|
||||
}
|
||||
|
||||
public DynamicProperyBuilder WithCache(bool isCache=true)
|
||||
{
|
||||
IsCache = isCache;
|
||||
return this;
|
||||
}
|
||||
public Type BuilderType()
|
||||
{
|
||||
return DynamicBuilderHelper.CreateDynamicClass(baseBuilder.entityName, baseBuilder.propertyAttr, TypeAttributes.Public, baseBuilder.entityAttr, baseBuilder.baseType, baseBuilder.interfaces);
|
||||
if (IsCache)
|
||||
{
|
||||
var key = baseBuilder.entityName + string.Join("_", baseBuilder.propertyAttr.Select(it => it.Name + it.Type.Name));
|
||||
return new ReflectionInoCacheService().GetOrCreate(key,() =>
|
||||
{
|
||||
var result = DynamicBuilderHelper.CreateDynamicClass(baseBuilder.entityName, baseBuilder.propertyAttr, TypeAttributes.Public, baseBuilder.entityAttr, baseBuilder.baseType, baseBuilder.interfaces);
|
||||
return result;
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = DynamicBuilderHelper.CreateDynamicClass(baseBuilder.entityName, baseBuilder.propertyAttr, TypeAttributes.Public, baseBuilder.entityAttr, baseBuilder.baseType, baseBuilder.interfaces);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("5.1.4.59")]
|
||||
[assembly: AssemblyFileVersion("5.1.4.59")]
|
||||
[assembly: AssemblyVersion("5.1.4.60")]
|
||||
[assembly: AssemblyFileVersion("5.1.4.60")]
|
||||
|
||||
Reference in New Issue
Block a user