diff options
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud')
-rw-r--r-- | docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs index 4836720..9977465 100644 --- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs +++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs @@ -376,6 +376,8 @@ CREATE TABLE {tableName}( { if (d is null) return null; + Type dynamicType = d.GetType(); + var result = Activator.CreateInstance(EntityType); foreach (var column in ColumnInfos) @@ -383,7 +385,9 @@ CREATE TABLE {tableName}( var propertyInfo = column.PropertyInfo; if (propertyInfo is not null) { - object? value = d[column.ColumnName]; + var dynamicProperty = dynamicType.GetProperty(column.ColumnName); + if (dynamicProperty is null) continue; + object? value = dynamicProperty.GetValue(d); value = column.ColumnType.ConvertFromDatabase(value); propertyInfo.SetValue(result, value); } |