aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-12-06 21:03:36 +0800
committercrupest <crupest@outlook.com>2022-12-20 20:32:52 +0800
commit1870bc78d4a2733246322c5540761da852afe713 (patch)
tree7dd05378a17e6b687af4987fe50e425171f0e07b /docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs
parentc16159d9ef9e3b3f359966d17f3aa6eb420620f6 (diff)
downloadcrupest-1870bc78d4a2733246322c5540761da852afe713.tar.gz
crupest-1870bc78d4a2733246322c5540761da852afe713.tar.bz2
crupest-1870bc78d4a2733246322c5540761da852afe713.zip
Develop secret api. v16
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs38
1 files changed, 10 insertions, 28 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs
index 1754c8d..081071f 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons/Crud/ColumnInfo.cs
@@ -20,11 +20,11 @@ public class ColumnInfo
}
// A column with no property.
- public ColumnInfo(Type entityType, string sqlColumnName, bool isPrimaryKey, bool isAutoIncrement, IColumnTypeInfo typeInfo, ColumnIndexType indexType = ColumnIndexType.None, ColumnTypeInfoRegistry? typeRegistry = null)
+ public ColumnInfo(Type entityType, string sqlColumnName, bool isPrimaryKey, bool isAutoIncrement, ColumnTypeInfo typeInfo, ColumnIndexType indexType = ColumnIndexType.None, ColumnTypeRegistry? typeRegistry = null)
{
if (typeRegistry is null)
{
- typeRegistry = ColumnTypeInfoRegistry.Singleton;
+ typeRegistry = ColumnTypeRegistry.Instance;
}
EntityType = entityType;
@@ -40,11 +40,11 @@ public class ColumnInfo
IndexType = indexType;
}
- public ColumnInfo(Type entityType, string entityPropertyName, ColumnTypeInfoRegistry? typeRegistry = null)
+ public ColumnInfo(Type entityType, string entityPropertyName, ColumnTypeRegistry? typeRegistry = null)
{
if (typeRegistry is null)
{
- typeRegistry = ColumnTypeInfoRegistry.Singleton;
+ typeRegistry = ColumnTypeRegistry.Instance;
}
EntityType = entityType;
@@ -73,25 +73,8 @@ public class ColumnInfo
DefaultEmptyForString = columnAttribute.DefaultEmptyForString;
}
- ColumnTypeInfo = typeRegistry.GetRequiredByDataType(PropertyRealType);
+ ColumnTypeInfo = typeRegistry.GetRequired(PropertyRealType);
TypeRegistry = typeRegistry;
-
- if (DefaultEmptyForString)
- {
- EntityPostGet += (entity, column, _, _) =>
- {
- var pi = column.PropertyInfo;
- if (pi is not null && column.ColumnTypeInfo.GetUnderlineType() == typeof(string))
- {
- var value = pi.GetValue(entity);
- if (value is null)
- {
- pi.SetValue(entity, string.Empty);
- }
- }
- return Task.CompletedTask;
- };
- }
}
public Type EntityType { get; }
@@ -101,18 +84,17 @@ public class ColumnInfo
public Type PropertyType { get; }
public Type PropertyRealType { get; }
public string SqlColumnName { get; }
- public ColumnTypeInfoRegistry TypeRegistry { get; set; }
- public IColumnTypeInfo ColumnTypeInfo { get; }
+ public ColumnTypeRegistry TypeRegistry { get; set; }
+ public ColumnTypeInfo ColumnTypeInfo { get; }
public bool Nullable { get; }
public bool IsPrimaryKey { get; }
public bool IsAutoIncrement { get; }
public ColumnIndexType IndexType { get; }
- public bool DefaultEmptyForString { get; }
- public event EntityPreSave? EntityPreSave;
- public event EntityPostGet? EntityPostGet;
+ // TODO: Implement this behavior.
+ public bool DefaultEmptyForString { get; }
- public string SqlType => TypeRegistry.GetSqlTypeRecursive(ColumnTypeInfo);
+ public string SqlType => ColumnTypeInfo.SqlType;
public string GenerateCreateTableColumnString()
{