mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-12-26 22:25:49 +08:00
-
This commit is contained in:
@@ -68,7 +68,7 @@ namespace SqlSugar
|
||||
}
|
||||
|
||||
#region BuilderTypes
|
||||
public (Type a, Type b) BuilderTypes(DynamicProperyBuilder dynamicBuilderB)
|
||||
public Tuple<Type, Type> BuilderTypes(DynamicProperyBuilder dynamicBuilderB)
|
||||
{
|
||||
if (IsCache)
|
||||
{
|
||||
@@ -76,25 +76,24 @@ namespace SqlSugar
|
||||
var key2 = dynamicBuilderB.baseBuilder.entityName + string.Join("_", dynamicBuilderB.baseBuilder.propertyAttr.Select(it => it.Name + it.Type.Name));
|
||||
return new ReflectionInoCacheService().GetOrCreate(key1 + key2, () =>
|
||||
{
|
||||
(Type, Type) result = GetBuilderTypes(dynamicBuilderB);
|
||||
Tuple<Type, Type> result = GetBuilderTypes(dynamicBuilderB);
|
||||
return result;
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
(Type, Type) result = GetBuilderTypes(dynamicBuilderB);
|
||||
Tuple<Type, Type> result = GetBuilderTypes(dynamicBuilderB);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
private (Type, Type) GetBuilderTypes(DynamicProperyBuilder dynamicBuilderB)
|
||||
private Tuple<Type,Type> GetBuilderTypes(DynamicProperyBuilder dynamicBuilderB)
|
||||
{
|
||||
DynamicProperyBuilder dynamicBuilderA = this;
|
||||
TypeBuilder typeBuilderA = EmitTool.CreateTypeBuilder(dynamicBuilderA.baseBuilder.entityName, TypeAttributes.Public, dynamicBuilderA.baseBuilder.baseType, dynamicBuilderA.baseBuilder.interfaces);
|
||||
TypeBuilder typeBuilderB = EmitTool.CreateTypeBuilder(dynamicBuilderB.baseBuilder.entityName, TypeAttributes.Public, dynamicBuilderB.baseBuilder.baseType, dynamicBuilderB.baseBuilder.interfaces);
|
||||
DynamicBuilderHelper.CreateDynamicClass(typeBuilderA, typeBuilderB, dynamicBuilderA.baseBuilder.propertyAttr, dynamicBuilderA.baseBuilder.entityAttr);
|
||||
DynamicBuilderHelper.CreateDynamicClass(typeBuilderB, typeBuilderA, dynamicBuilderB.baseBuilder.propertyAttr, dynamicBuilderB.baseBuilder.entityAttr);
|
||||
var result = (typeBuilderA.CreateTypeInfo().AsType(), typeBuilderB.CreateTypeInfo().AsType());
|
||||
return result;
|
||||
return new Tuple<Type, Type>(typeBuilderA.CreateTypeInfo().AsType(), typeBuilderB.CreateTypeInfo().AsType());
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
Reference in New Issue
Block a user