aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud
diff options
context:
space:
mode:
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/TableInfo.cs6
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);
}