3 커밋 573f606d98 ... 8cfc466953

작성자 SHA1 메시지 날짜
  Lith 8cfc466953 Merge pull request #6 from LithWang/master 4 달 전
  Lith d2e116ef4e release/2.5.0 4 달 전
  Lith 66781b18ca # 2.4.0 4 달 전

+ 6 - 1
Publish/DevOps3/README.md

@@ -1,5 +1,5 @@
 
-# DevOps 3.7
+# DevOps 3.8
 
 
 # build-bash
@@ -24,6 +24,11 @@ if this file exists, will not need approval for jenkins build.
 ----------------------------------------------
 # ReleaseLog
 
+-----------------------
+# 3.8
+> 2024-12-19
+- upgrade net to 8.0
+
 -----------------------
 # 3.7
 > 2024-09-21

+ 1 - 1
Publish/DevOps3/build-bash/10.Test.bash

@@ -37,7 +37,7 @@ docker run -i --rm \
 -v $NUGET_PATH:/root/.nuget \
 -v "$basePath":/root/code \
 -v "$basePath":"$basePath" \
-serset/dotnet:sdk-6.0 \
+serset/dotnet:sdk-8.0 \
 bash -c "
 set -e
 

+ 1 - 1
Publish/DevOps3/build-bash/30.nuget-pack.sh

@@ -22,7 +22,7 @@ docker run -i --rm \
 --env LANG=C.UTF-8 \
 -v $NUGET_PATH:/root/.nuget \
 -v $basePath:/root/code \
-serset/dotnet:sdk-6.0 \
+serset/dotnet:sdk-8.0 \
 bash -c "
 
 publishPath=/root/code/Publish/release/release/nuget

+ 1 - 1
Publish/DevOps3/build-bash/40.Station-publish.sh

@@ -23,7 +23,7 @@ docker run -i --rm \
 -v $NUGET_PATH:/root/.nuget \
 -v "$basePath":/root/code \
 -v "$basePath":"$basePath" \
-serset/dotnet:sdk-6.0 \
+serset/dotnet:sdk-8.0 \
 bash -c "
 set -e
 

+ 1 - 1
Publish/DevOps3/release-bash/72.nuget-push.sh

@@ -25,7 +25,7 @@ fi
 docker run -i --rm \
 --env LANG=C.UTF-8 \
 -v $basePath:/root/code \
-serset/dotnet:sdk-6.0 \
+serset/dotnet:sdk-8.0 \
 bash -c "
 for file in /root/code/Publish/release/release/nuget/*.nupkg
 do

+ 5 - 0
doc/ReleaseNotes.md

@@ -1,5 +1,10 @@
 # Vitorm.File ReleaseNotes
 
+-----------------------
+# 2.4.0
+- upgrade to net8.0
+- upgrade library
+
 -----------------------
 # 2.2.0
 - support mode : TableToFile(default), RowMapToFile , TableToDir

+ 2 - 2
src/Versions.props

@@ -1,7 +1,7 @@
 <Project>
     <PropertyGroup>
-        <Version>2.2.2</Version>
-        <Vitorm_Version>[2.2.2, 2.3.0)</Vitorm_Version>
+        <Version>2.5.0</Version>
+        <Vitorm_Version>[2.5.0, 2.6.0)</Vitorm_Version>
     </PropertyGroup>
 
     <PropertyGroup>

+ 3 - 3
src/Vitorm.File/DbSet_TableToDir.cs

@@ -50,7 +50,7 @@ namespace Vitorm.File
         protected virtual Entity FromJson(Dictionary<string, object> json)
         {
             var entity = (Entity)Activator.CreateInstance(entityDescriptor.entityType);
-            entityDescriptor.allColumns.ForEach(col =>
+            entityDescriptor.properties.ForEach(col =>
             {
                 if (json.TryGetValue(col.columnName, out var value)) col.SetValue(entity, TypeUtil.ConvertToType(value, col.type));
             });
@@ -141,7 +141,7 @@ namespace Vitorm.File
             object keyValue = entityDescriptor.key.GetValue(entity);
 
             // generate identity key if needed
-            var keyIsEmpty = keyValue is null || keyValue.Equals(TypeUtil.DefaultValue(entityDescriptor.key.type));
+            var keyIsEmpty = keyValue is null || keyValue.Equals(TypeUtil.GetDefaultValue(entityDescriptor.key.type));
             if (entityDescriptor.key.isIdentity && keyIsEmpty)
             {
                 keyValue = GetMaxId() + 1;
@@ -153,7 +153,7 @@ namespace Vitorm.File
             if (System.IO.File.Exists(path)) throw new Exception("file already exist");
 
 
-            var json = entityDescriptor.allColumns.ToDictionary(col => col.columnName, col => col.GetValue(entity));
+            var json = entityDescriptor.properties.ToDictionary(col => col.columnName, col => col.GetValue(entity));
 
             System.IO.File.WriteAllText(path, Json.Serialize(json));
 

+ 3 - 3
src/Vitorm.File/DbSet_TableToFile.cs

@@ -42,7 +42,7 @@ namespace Vitorm.File
         protected virtual Entity FromJson(Dictionary<string, object> json)
         {
             var entity = (Entity)Activator.CreateInstance(entityDescriptor.entityType);
-            entityDescriptor.allColumns.ForEach(col =>
+            entityDescriptor.properties.ForEach(col =>
             {
                 if (json.TryGetValue(col.columnName, out var value)) col.SetValue(entity, TypeUtil.ConvertToType(value, col.type));
             });
@@ -50,7 +50,7 @@ namespace Vitorm.File
         }
         protected virtual Dictionary<string, object> ToJson(Entity entity)
         {
-            return entityDescriptor.allColumns.ToDictionary(col => col.columnName, col => col.GetValue(entity));
+            return entityDescriptor.properties.ToDictionary(col => col.columnName, col => col.GetValue(entity));
         }
 
 
@@ -170,7 +170,7 @@ namespace Vitorm.File
                 entities.ForEach(entity =>
                 {
                     object keyValue = entityDescriptor.key.GetValue(entity);
-                    var keyIsEmpty = keyValue is null || keyValue.Equals(TypeUtil.DefaultValue(entityDescriptor.key.type));
+                    var keyIsEmpty = keyValue is null || keyValue.Equals(TypeUtil.GetDefaultValue(entityDescriptor.key.type));
                     if (keyIsEmpty)
                     {
                         maxId++;

+ 4 - 4
test/Vitorm.File.RowMapToFile.Data.MsTest/Vitorm.File.RowMapToFile.Data.MsTest.csproj

@@ -6,7 +6,7 @@
     </PropertyGroup>
 
     <PropertyGroup>
-        <TargetFramework>net6.0</TargetFramework>
+        <TargetFramework>net8.0</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
 
         <IsPackable>false</IsPackable>
@@ -15,9 +15,9 @@
     </PropertyGroup>
 
     <ItemGroup>
-        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
-        <PackageReference Include="MSTest.TestAdapter" Version="3.6.1" />
-        <PackageReference Include="MSTest.TestFramework" Version="3.6.1" />
+        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
+        <PackageReference Include="MSTest.TestAdapter" Version="3.6.4" />
+        <PackageReference Include="MSTest.TestFramework" Version="3.6.4" />
 
         <PackageReference Include="Vitorm.Data" Version="$(Vitorm_Version)" />
     </ItemGroup>

+ 4 - 4
test/Vitorm.File.RowMapToFile.MsTest/Vitorm.File.RowMapToFile.MsTest.csproj

@@ -5,7 +5,7 @@
     </PropertyGroup>
 
     <PropertyGroup>
-        <TargetFramework>net6.0</TargetFramework>
+        <TargetFramework>net8.0</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
         <IsPackable>false</IsPackable>
         <IsTestProject>true</IsTestProject>
@@ -13,9 +13,9 @@
     </PropertyGroup>
 
     <ItemGroup>
-        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
-        <PackageReference Include="MSTest.TestAdapter" Version="3.6.1" />
-        <PackageReference Include="MSTest.TestFramework" Version="3.6.1" />
+        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
+        <PackageReference Include="MSTest.TestAdapter" Version="3.6.4" />
+        <PackageReference Include="MSTest.TestFramework" Version="3.6.4" />
     </ItemGroup>
 
     <ItemGroup>

+ 4 - 4
test/Vitorm.File.TableToDir.Data.MsTest/Vitorm.File.TableToDir.Data.MsTest.csproj

@@ -6,7 +6,7 @@
     </PropertyGroup>
 
     <PropertyGroup>
-        <TargetFramework>net6.0</TargetFramework>
+        <TargetFramework>net8.0</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
 
         <IsPackable>false</IsPackable>
@@ -15,9 +15,9 @@
     </PropertyGroup>
 
     <ItemGroup>
-        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
-        <PackageReference Include="MSTest.TestAdapter" Version="3.6.1" />
-        <PackageReference Include="MSTest.TestFramework" Version="3.6.1" />
+        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
+        <PackageReference Include="MSTest.TestAdapter" Version="3.6.4" />
+        <PackageReference Include="MSTest.TestFramework" Version="3.6.4" />
 
         <PackageReference Include="Vitorm.Data" Version="$(Vitorm_Version)" />
     </ItemGroup>

+ 4 - 4
test/Vitorm.File.TableToDir.MsTest/Vitorm.File.TableToDir.MsTest.csproj

@@ -5,7 +5,7 @@
     </PropertyGroup>
 
     <PropertyGroup>
-        <TargetFramework>net6.0</TargetFramework>
+        <TargetFramework>net8.0</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
         <IsPackable>false</IsPackable>
         <IsTestProject>true</IsTestProject>
@@ -13,9 +13,9 @@
     </PropertyGroup>
 
     <ItemGroup>
-        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
-        <PackageReference Include="MSTest.TestAdapter" Version="3.6.1" />
-        <PackageReference Include="MSTest.TestFramework" Version="3.6.1" />
+        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
+        <PackageReference Include="MSTest.TestAdapter" Version="3.6.4" />
+        <PackageReference Include="MSTest.TestFramework" Version="3.6.4" />
     </ItemGroup>
 
     <ItemGroup>

+ 4 - 4
test/Vitorm.File.TableToFile.Data.MsTest/Vitorm.File.TableToFile.Data.MsTest.csproj

@@ -6,7 +6,7 @@
     </PropertyGroup>
 
     <PropertyGroup>
-        <TargetFramework>net6.0</TargetFramework>
+        <TargetFramework>net8.0</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
 
         <IsPackable>false</IsPackable>
@@ -15,9 +15,9 @@
     </PropertyGroup>
 
     <ItemGroup>
-        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
-        <PackageReference Include="MSTest.TestAdapter" Version="3.6.1" />
-        <PackageReference Include="MSTest.TestFramework" Version="3.6.1" />
+        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
+        <PackageReference Include="MSTest.TestAdapter" Version="3.6.4" />
+        <PackageReference Include="MSTest.TestFramework" Version="3.6.4" />
 
         <PackageReference Include="Vitorm.Data" Version="$(Vitorm_Version)" />
     </ItemGroup>

+ 10 - 5
test/Vitorm.File.TableToFile.MsTest/CommonTest/EntityLoader_CustomLoader_Test.cs

@@ -4,6 +4,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
 
 using Vitorm.Entity;
 using Vitorm.Entity.Loader.DataAnnotations;
+using Vitorm.Entity.PropertyType;
 
 namespace Vitorm.MsTest.CommonTest
 {
@@ -120,7 +121,7 @@ namespace Vitorm.MsTest.CommonTest
             {
                 if (!GetTableName(entityType, out var tableName, out var schema)) return default;
 
-                IColumnDescriptor[] allColumns = entityType?.GetProperties(BindingFlags.Public | BindingFlags.Instance)
+                var propertyDescriptors = entityType?.GetProperties(BindingFlags.Public | BindingFlags.Instance)
                     .Select(propertyInfo =>
                     {
                         var labels = propertyInfo?.GetCustomAttributes<LabelAttribute>();
@@ -152,15 +153,19 @@ namespace Vitorm.MsTest.CommonTest
                             }
                         }
 
-                        return new ColumnDescriptor(
-                            propertyInfo, columnName: columnName,
+                        return new PropertyDescriptor(
+                            propertyInfo, propertyType: new PropertyValueType(propertyInfo.PropertyType),
+                            columnName: columnName,
                             isKey: isKey, isIdentity: isIdentity, isNullable: isNullable,
                             columnDbType: columnDbType,
                             columnOrder: columnOrder
                             );
-                    }).Where(column => column != null).ToArray();
+                    }).Where(column => column != null);
 
-                return (true, new EntityDescriptor(entityType, allColumns, tableName, schema));
+                var propertyType = new PropertyObjectType(entityType);
+                propertyType.properties = propertyDescriptors.Select(m => (IPropertyDescriptor)m).ToArray();
+
+                return (true, new EntityDescriptor(propertyType, tableName, schema));
             }
         }
         #endregion

+ 4 - 4
test/Vitorm.File.TableToFile.MsTest/Vitorm.File.TableToFile.MsTest.csproj

@@ -5,7 +5,7 @@
     </PropertyGroup>
 
     <PropertyGroup>
-        <TargetFramework>net6.0</TargetFramework>
+        <TargetFramework>net8.0</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
 
         <IsPackable>false</IsPackable>
@@ -14,9 +14,9 @@
     </PropertyGroup>
 
     <ItemGroup>
-        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
-        <PackageReference Include="MSTest.TestAdapter" Version="3.6.1" />
-        <PackageReference Include="MSTest.TestFramework" Version="3.6.1" />
+        <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
+        <PackageReference Include="MSTest.TestAdapter" Version="3.6.4" />
+        <PackageReference Include="MSTest.TestFramework" Version="3.6.4" />
     </ItemGroup>
 
     <ItemGroup>