解决IoTDB驱动单测点数据模型元组可空类型元素映射失败的问题。
This commit is contained in:
parent
6d95430b63
commit
d87f7a2c41
@ -580,7 +580,7 @@ namespace JiShe.CollectBus.IncrementalGenerator
|
|||||||
$"new EntityMemberInfo(" +
|
$"new EntityMemberInfo(" +
|
||||||
$"\"{prop.Name}.{elementName}\", " +
|
$"\"{prop.Name}.{elementName}\", " +
|
||||||
$"typeof({elementType}), " +
|
$"typeof({elementType}), " +
|
||||||
$"typeof({elementType}).Name, " +//$"\"{elementDeclaredName}\", " +
|
$"GetValueTupleElementName(typeof({elementType})), " +//$"\"{elementDeclaredName}\", " +
|
||||||
$"(e) => Get{prop.Name}_{elementName}(({entityType})e), " +
|
$"(e) => Get{prop.Name}_{elementName}(({entityType})e), " +
|
||||||
$"(e, v) => Set{prop.Name}_{elementName}(({entityType})e, ({elementType})v))");
|
$"(e, v) => Set{prop.Name}_{elementName}(({entityType})e, ({elementType})v))");
|
||||||
}
|
}
|
||||||
@ -589,6 +589,30 @@ namespace JiShe.CollectBus.IncrementalGenerator
|
|||||||
|
|
||||||
code.AppendLine(string.Join(",\n", initializerLines));
|
code.AppendLine(string.Join(",\n", initializerLines));
|
||||||
code.AppendLine(" };");
|
code.AppendLine(" };");
|
||||||
|
|
||||||
|
code.AppendLine(GetValueTupleElementName());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string GetValueTupleElementName()
|
||||||
|
{
|
||||||
|
return """
|
||||||
|
public static string GetValueTupleElementName(Type declaredType)
|
||||||
|
{
|
||||||
|
string typeName;
|
||||||
|
// 处理可空类型
|
||||||
|
if (declaredType.IsGenericType && declaredType.GetGenericTypeDefinition() == typeof(Nullable<>))
|
||||||
|
{
|
||||||
|
Type underlyingType = Nullable.GetUnderlyingType(declaredType);
|
||||||
|
typeName = underlyingType.Name;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
typeName = declaredType.Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
return typeName;
|
||||||
|
}
|
||||||
|
""";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user