Skip to content

Commit 684e95d

Browse files
committed
AOT app json serialization issue
1 parent 82371f7 commit 684e95d

14 files changed

Lines changed: 39 additions & 15 deletions

DatabaseGenerator/Config.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Text;
4+
using System.Text.Json.Serialization;
45

56

67
namespace DatabaseGenerator
78
{
89

10+
// -----------------
11+
// Required for serialization because JsonSerializerIsReflectionEnabledByDefault = false
12+
[JsonSerializable(typeof(Config))]
13+
internal partial class ConfigSerializerContext : JsonSerializerContext
14+
{
15+
}
16+
// -----------------
17+
18+
919
public class Config
1020
{
1121

12-
// Class used for rading configuration file by json deserialization. Modify carefully.
22+
// Class used for reading configuration file by json deserialization. Modify carefully.
1323

1424
public int OrdersCount { get; set; }
1525
public DateTime StartDT { get; set; }

DatabaseGenerator/DataWriter/Parquet/DeltaSchema.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
1-
using System;
1+
using DatabaseGenerator.DataWriter.Parquet;
2+
using System;
23
using System.Collections.Generic;
34
using System.Linq;
45
using System.Text;
6+
using System.Text.Json.Serialization;
57
using System.Threading.Tasks;
68

79

810
namespace DatabaseGenerator.DataWriter.Parquet
911
{
1012

13+
// -----------------
14+
// Required for serialization because JsonSerializerIsReflectionEnabledByDefault = false
15+
[JsonSerializable(typeof(DeltaSchema))]
16+
internal partial class DeltaSchemaSerializerContext : JsonSerializerContext
17+
{
18+
}
19+
// -----------------
20+
21+
1122
// ---------------------------------------
1223
// Delta schema json serialization classes
1324
// ---------------------------------------

DatabaseGenerator/DataWriter/Parquet/ParquetCurrencyExchange.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public static string GETDeltaSchema()
4747
DeltaField.GetInstance("Exchange", "decimal(20,5)", false),
4848
}
4949
};
50-
return JsonSerializer.Serialize(schema);
50+
return JsonSerializer.Serialize(schema, DeltaSchemaSerializerContext.Default.DeltaSchema);
5151
}
5252

5353
}

DatabaseGenerator/DataWriter/Parquet/ParquetCustomer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public static string GETDeltaSchema()
113113
DeltaField.GetInstance("Longitude", "decimal(20,5)", false),
114114
}
115115
};
116-
return JsonSerializer.Serialize(schema);
116+
return JsonSerializer.Serialize(schema, DeltaSchemaSerializerContext.Default.DeltaSchema);
117117
}
118118

119119
}

DatabaseGenerator/DataWriter/Parquet/ParquetDateExtended.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public static string GETDeltaSchema()
6868
{
6969
type = "struct",
7070
fields = new List<DeltaField>()
71-
{
71+
{
7272
DeltaField.GetInstance("Date", "timestamp", false),
7373
DeltaField.GetInstance("DateKey", "string", true),
7474
DeltaField.GetInstance("Year", "integer", false),
@@ -89,7 +89,7 @@ public static string GETDeltaSchema()
8989
}
9090
};
9191

92-
return JsonSerializer.Serialize(schema);
92+
return JsonSerializer.Serialize(schema, DeltaSchemaSerializerContext.Default.DeltaSchema);
9393
}
9494
}
9595
}

DatabaseGenerator/DataWriter/Parquet/ParquetOrder.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using Parquet.Serialization.Attributes;
33
using System;
44
using System.Collections.Generic;
5+
using System.Runtime.InteropServices;
56
using System.Text.Json;
67

78

@@ -52,7 +53,8 @@ public static string GETDeltaSchema()
5253
DeltaField.GetInstance("CurrencyCode", "string", true),
5354
}
5455
};
55-
return JsonSerializer.Serialize(schema);
56+
57+
return JsonSerializer.Serialize(schema, DeltaSchemaSerializerContext.Default.DeltaSchema);
5658
}
5759

5860
}

DatabaseGenerator/DataWriter/Parquet/ParquetOrderRow.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public static string GETDeltaSchema()
5656
}
5757
};
5858

59-
return JsonSerializer.Serialize(schema);
59+
return JsonSerializer.Serialize(schema, DeltaSchemaSerializerContext.Default.DeltaSchema);
6060
}
6161

6262
}

DatabaseGenerator/DataWriter/Parquet/ParquetProduct.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class ParquetProduct
3232
public string CategoryName { get; set; }
3333
public int SubCategoryKey { get; set; }
3434
public string SubCategoryName { get; set; }
35-
35+
3636
// ---------------------------------------------------------
3737

3838

@@ -82,7 +82,7 @@ public static string GETDeltaSchema()
8282
}
8383
};
8484

85-
return JsonSerializer.Serialize(schema);
85+
return JsonSerializer.Serialize(schema, DeltaSchemaSerializerContext.Default.DeltaSchema);
8686
}
8787

8888
}

DatabaseGenerator/DataWriter/Parquet/ParquetSale.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public static string GETDeltaSchema()
7878
DeltaField.GetInstance("ExchangeRate", "decimal(20,5)", false),
7979
}
8080
};
81-
return JsonSerializer.Serialize(schema);
81+
return JsonSerializer.Serialize(schema, DeltaSchemaSerializerContext.Default.DeltaSchema);
8282
}
8383

8484
}

DatabaseGenerator/DataWriter/Parquet/ParquetStore.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public static string GETDeltaSchema()
6868
DeltaField.GetInstance("Status", "string", true),
6969
}
7070
};
71-
return JsonSerializer.Serialize(schema);
71+
return JsonSerializer.Serialize(schema, DeltaSchemaSerializerContext.Default.DeltaSchema);
7272
}
7373

7474
}

0 commit comments

Comments
 (0)