diff --git a/src/Serenity.Net.CodeGenerator/CodeGeneration/ServerTypings/ServerTypingsGenerator.Form.cs b/src/Serenity.Net.CodeGenerator/CodeGeneration/ServerTypings/ServerTypingsGenerator.Form.cs index 7067c7209f..aa3e36e260 100644 --- a/src/Serenity.Net.CodeGenerator/CodeGeneration/ServerTypings/ServerTypingsGenerator.Form.cs +++ b/src/Serenity.Net.CodeGenerator/CodeGeneration/ServerTypings/ServerTypingsGenerator.Form.cs @@ -180,7 +180,7 @@ private TypeDefinition GetBasedOnRowAndAnnotations(TypeDefinition type, basedOnByName = null; if (basedOnRowAttr != null) { - basedOnByName = basedOnRow.PropertiesOf().Where(x => TypingsUtils.IsPublicInstanceProperty(x)) + basedOnByName = EnumerateProperties(basedOnRow).Where(x => TypingsUtils.IsPublicInstanceProperty(x)) .ToLookup(x => x.Name); } diff --git a/src/Serenity.Net.CodeGenerator/CodeGeneration/ServerTypings/ServerTypingsGenerator.Row.cs b/src/Serenity.Net.CodeGenerator/CodeGeneration/ServerTypings/ServerTypingsGenerator.Row.cs index eb46477a7c..3490766d30 100644 --- a/src/Serenity.Net.CodeGenerator/CodeGeneration/ServerTypings/ServerTypingsGenerator.Row.cs +++ b/src/Serenity.Net.CodeGenerator/CodeGeneration/ServerTypings/ServerTypingsGenerator.Row.cs @@ -1,4 +1,4 @@ -#if !ISSOURCEGENERATOR +#if !ISSOURCEGENERATOR using Mono.Cecil; using Mono.Cecil.Cil; #endif @@ -100,7 +100,7 @@ rowType is Microsoft.CodeAnalysis.INamedTypeSymbol rowTypeNT && rowType.FullNameOf() != "Serenity.Data.Row`1"); } - private static IEnumerable EnumerateProperties(TypeDefinition rowType) + public static IEnumerable EnumerateProperties(TypeDefinition rowType) { do {