zoule 9 maanden geleden
bovenliggende
commit
1440df90a2

BIN
EntityFramework.dll


BIN
Microsoft.Owin.Security.dll


BIN
SQLite.Interop.dll


BIN
System.Data.SQLite.dll


BIN
System.Net.Http.Formatting.dll


BIN
System.Web.Cors.dll


+ 2 - 7
XdCxRhDW.App/App.config

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
   <configSections>
-    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+    
     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
   </configSections>
   <connectionStrings>
@@ -32,10 +32,5 @@
   <startup>
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
   </startup>
-  <system.data>
-    <DbProviderFactories>
-      <remove invariant="System.Data.SQLite.EF6" />
-      <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
-    <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
-  </system.data>
+  
 </configuration>

+ 2 - 1
XdCxRhDW.App/Controllers/LogController.cs

@@ -1,6 +1,6 @@
 using System;
 using System.Collections.Generic;
-using System.Data.Entity;
+//using System.Data.Entity;
 using System.Linq;
 using System.Net.Http;
 using System.Text;
@@ -16,6 +16,7 @@ using DPP_YH_Core.Extensions;
 using XdCxRhDW.App.Model;
 using System.Diagnostics;
 using System.Configuration;
+using System.Data.Entity;
 
 namespace XdCxRhDW.App.Controllers
 {

+ 3 - 4
XdCxRhDW.App/ExtensionsDev/MapControlEx.cs

@@ -16,7 +16,6 @@ using System;
 using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
 using System.Data.Common;
-using System.Data.SQLite;
 using System.Drawing;
 using System.Drawing.Imaging;
 using System.IO;
@@ -943,7 +942,7 @@ public static class MapControlEx
             try
             {
                 string conStr = string.Format("Data Source=\"{0}\";Page Size=32768", files[0]);
-                var con = new SQLiteConnection(conStr);
+                var con = new System.Data.SQLite.SQLiteConnection(conStr);
                 con.Open();
                 con.Close();
                 localGmdbDataEnable = true;
@@ -2942,7 +2941,7 @@ public static class MapControlEx
     #region ImageLayer数据源接口实现(本地和Http接口)
     class ImageTileSource : IImageTileSource
     {
-        SQLiteConnection con;
+        System.Data.SQLite.SQLiteConnection con;
         public ImageTileSource()
         {
             var files = Directory.GetFiles(Application.StartupPath, "Data.gmdb", SearchOption.AllDirectories);
@@ -2951,7 +2950,7 @@ public static class MapControlEx
                 try
                 {
                     conStr = string.Format(conStr, files[0]);
-                    con = new SQLiteConnection(conStr);
+                    con = new System.Data.SQLite.SQLiteConnection(conStr);
                     con.Open();
                 }
                 catch

+ 8 - 34
XdCxRhDW.App/XdCxRhDW.App.csproj

@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\packages\EntityFramework.6.5.1\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.5.1\build\EntityFramework.props')" />
   <Import Project="packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -87,11 +86,8 @@
     <Reference Include="DevExpress.XtraScheduler.v23.2.Core, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
     <Reference Include="DevExpress.XtraScheduler.v23.2.Core.Desktop, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
     <Reference Include="DevExpress.XtraTreeList.v23.2, Version=23.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-    <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
-      <HintPath>..\packages\EntityFramework.6.5.1\lib\net45\EntityFramework.dll</HintPath>
-    </Reference>
-    <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
-      <HintPath>..\packages\EntityFramework.6.5.1\lib\net45\EntityFramework.SqlServer.dll</HintPath>
+    <Reference Include="EntityFramework">
+      <HintPath>..\EntityFramework.dll</HintPath>
     </Reference>
     <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
@@ -105,14 +101,8 @@
     <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
     <Reference Include="System.Data.Linq" />
-    <Reference Include="System.Data.SQLite, Version=1.0.119.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
-      <HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\lib\net46\System.Data.SQLite.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Data.SQLite.EF6, Version=1.0.119.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Data.SQLite.EF6.1.0.119.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Data.SQLite.Linq, Version=1.0.119.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Data.SQLite.Linq.1.0.119.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath>
+    <Reference Include="System.Data.SQLite">
+      <HintPath>..\System.Data.SQLite.dll</HintPath>
     </Reference>
     <Reference Include="System.Deployment" />
     <Reference Include="System.Management" />
@@ -122,10 +112,6 @@
     <Reference Include="System.Net.Http">
       <Private>True</Private>
     </Reference>
-    <Reference Include="System.Net.Http.Formatting, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\System.Net.Http.Formatting.dll</HintPath>
-    </Reference>
     <Reference Include="System.Numerics" />
     <Reference Include="System.Runtime.Remoting" />
     <Reference Include="System.Runtime.Serialization" />
@@ -586,7 +572,6 @@
     <None Include="data.gmdb">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
-    <None Include="packages.config" />
     <EmbeddedResource Include="PopupControl\ShowCgCtrl.resx">
       <DependentUpon>ShowCgCtrl.cs</DependentUpon>
     </EmbeddedResource>
@@ -734,7 +719,7 @@
   <Import Project="packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
   <Import Project="packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
   <PropertyGroup>
-    <PostBuildEvent>del *.dll.config
+    <PostBuildEvent>if exist *.dll.config del *.dll.config
 del DevExpress*.xml,EntityFramework*.xml,Serilog*.xml,Newtonsoft*.xml
 del System*.xml,Microsoft*.xml,autofac*.xml,MySql*.xml,K4os*.xml,google*.xml
 del BouncyCastle*.xml
@@ -746,23 +731,14 @@ move /Y *.dll AddIns
 move /Y *.pdb AddIns
 move AddIns\$(TargetName).pdb .
 
-xcopy x64 AddIns\x64 /EHCIY
-xcopy x86 AddIns\x86 /EHCIY
-rmdir x86 /S/Q
-rmdir x64 /S/Q
+if not exist "AddIns\x64" md "AddIns\x64"
+copy $(SolutionDir)SQLite.Interop.dll AddIns\x64
+
 rmdir logs /S/Q
 rmdir wwwroot /S/Q
 rmdir 信号仿真 /S/Q
 </PostBuildEvent>
   </PropertyGroup>
-  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
-    <PropertyGroup>
-      <ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
-    </PropertyGroup>
-    <Error Condition="!Exists('..\packages\EntityFramework.6.5.1\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.5.1\build\EntityFramework.props'))" />
-    <Error Condition="!Exists('..\packages\EntityFramework.6.5.1\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.5.1\build\EntityFramework.targets'))" />
-    <Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
-  </Target>
   <PropertyGroup>
     <PreBuildEvent>wmic process where name='参估编批服务.exe' delete
 wmic process where name='信号检测服务.exe' delete
@@ -781,8 +757,6 @@ wmic process where name='多模式融合定位平台.exe' delete
 
 </PreBuildEvent>
   </PropertyGroup>
-  <Import Project="..\packages\EntityFramework.6.5.1\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.5.1\build\EntityFramework.targets')" />
-  <Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
        Other similar extension points exist, see Microsoft.Common.targets.
   <Target Name="BeforeBuild">

+ 0 - 9
XdCxRhDW.App/packages.config

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<packages>
-  <package id="EntityFramework" version="6.5.1" targetFramework="net472" />
-  <package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.119.0" targetFramework="net472" />
-  <package id="System.Data.SQLite" version="1.0.119.0" targetFramework="net472" />
-  <package id="System.Data.SQLite.Core" version="1.0.119.0" targetFramework="net472" />
-  <package id="System.Data.SQLite.EF6" version="1.0.119.0" targetFramework="net472" />
-  <package id="System.Data.SQLite.Linq" version="1.0.119.0" targetFramework="net472" />
-</packages>

+ 85 - 0
XdCxRhDW.Repostory/04.XdCxRhDW.Repostory.csproj

@@ -34,12 +34,57 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
+      <HintPath>..\packages\BouncyCastle.Cryptography.2.4.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
+    </Reference>
     <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
       <HintPath>..\packages\EntityFramework.6.5.1\lib\net45\EntityFramework.dll</HintPath>
     </Reference>
     <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
       <HintPath>..\packages\EntityFramework.6.5.1\lib\net45\EntityFramework.SqlServer.dll</HintPath>
     </Reference>
+    <Reference Include="EntityFramework6.Npgsql, Version=6.4.3.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7, processorArchitecture=MSIL">
+      <HintPath>..\packages\EntityFramework6.Npgsql.6.4.3\lib\net461\EntityFramework6.Npgsql.dll</HintPath>
+    </Reference>
+    <Reference Include="Google.Protobuf, Version=3.28.3.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
+      <HintPath>..\packages\Google.Protobuf.3.28.3\lib\net45\Google.Protobuf.dll</HintPath>
+    </Reference>
+    <Reference Include="K4os.Compression.LZ4, Version=1.3.8.0, Culture=neutral, PublicKeyToken=2186fa9121ef231d, processorArchitecture=MSIL">
+      <HintPath>..\packages\K4os.Compression.LZ4.1.3.8\lib\net462\K4os.Compression.LZ4.dll</HintPath>
+    </Reference>
+    <Reference Include="K4os.Compression.LZ4.Streams, Version=1.3.8.0, Culture=neutral, PublicKeyToken=2186fa9121ef231d, processorArchitecture=MSIL">
+      <HintPath>..\packages\K4os.Compression.LZ4.Streams.1.3.8\lib\net462\K4os.Compression.LZ4.Streams.dll</HintPath>
+    </Reference>
+    <Reference Include="K4os.Hash.xxHash, Version=1.0.8.0, Culture=neutral, PublicKeyToken=32cd54395057cec3, processorArchitecture=MSIL">
+      <HintPath>..\packages\K4os.Hash.xxHash.1.0.8\lib\net462\K4os.Hash.xxHash.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Bcl.HashCode, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bcl.HashCode.6.0.0\lib\net462\Microsoft.Bcl.HashCode.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
+    </Reference>
+    <Reference Include="MySql.Data, Version=9.1.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
+      <HintPath>..\packages\MySql.Data.9.1.0\lib\net462\MySql.Data.dll</HintPath>
+    </Reference>
+    <Reference Include="MySql.Data.EntityFramework, Version=9.1.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
+      <HintPath>..\packages\MySql.Data.EntityFramework.9.1.0\lib\net462\MySql.Data.EntityFramework.dll</HintPath>
+    </Reference>
+    <Reference Include="Npgsql, Version=8.0.5.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7, processorArchitecture=MSIL">
+      <HintPath>..\packages\Npgsql.8.0.5\lib\netstandard2.0\Npgsql.dll</HintPath>
+    </Reference>
+    <Reference Include="Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
+      <HintPath>..\packages\Oracle.ManagedDataAccess.23.6.1\lib\net472\Oracle.ManagedDataAccess.dll</HintPath>
+    </Reference>
+    <Reference Include="Oracle.ManagedDataAccess.EntityFramework, Version=6.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
+      <HintPath>..\packages\Oracle.ManagedDataAccess.EntityFramework.23.4.0\lib\net472\Oracle.ManagedDataAccess.EntityFramework.dll</HintPath>
+    </Reference>
     <Reference Include="SQLite.CodeFirst, Version=1.7.0.36, Culture=neutral, PublicKeyToken=eb96ba0a78d831a7, processorArchitecture=MSIL">
       <HintPath>..\packages\SQLite.CodeFirst.1.7.0.36\lib\net45\SQLite.CodeFirst.dll</HintPath>
     </Reference>
@@ -47,7 +92,14 @@
     <Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
       <HintPath>..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll</HintPath>
     </Reference>
+    <Reference Include="System.Collections.Immutable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Collections.Immutable.9.0.0\lib\net462\System.Collections.Immutable.dll</HintPath>
+    </Reference>
     <Reference Include="System.ComponentModel.DataAnnotations" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Configuration.ConfigurationManager, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Configuration.ConfigurationManager.9.0.0\lib\net462\System.Configuration.ConfigurationManager.dll</HintPath>
+    </Reference>
     <Reference Include="System.Core" />
     <Reference Include="System.Data.SQLite, Version=1.0.119.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
       <HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\lib\net46\System.Data.SQLite.dll</HintPath>
@@ -61,6 +113,13 @@
     <Reference Include="System.Diagnostics.DiagnosticSource, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
       <HintPath>..\packages\System.Diagnostics.DiagnosticSource.9.0.0\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
     </Reference>
+    <Reference Include="System.Formats.Asn1, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Formats.Asn1.9.0.0\lib\net462\System.Formats.Asn1.dll</HintPath>
+    </Reference>
+    <Reference Include="System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Management" />
     <Reference Include="System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
       <HintPath>..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll</HintPath>
     </Reference>
@@ -71,12 +130,32 @@
     <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
       <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
     </Reference>
+    <Reference Include="System.Security" />
+    <Reference Include="System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Text.Encodings.Web.9.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Text.Json.9.0.0\lib\net462\System.Text.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Channels, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Threading.Channels.9.0.0\lib\net462\System.Threading.Channels.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.0\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Transactions" />
+    <Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
+    </Reference>
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="Microsoft.CSharp" />
     <Reference Include="System.Data" />
     <Reference Include="System.Net.Http" />
     <Reference Include="System.Xml" />
+    <Reference Include="ZstdSharp, Version=0.8.2.0, Culture=neutral, PublicKeyToken=8d151af33a4ad5cf, processorArchitecture=MSIL">
+      <HintPath>..\packages\ZstdSharp.Port.0.8.2\lib\net462\ZstdSharp.dll</HintPath>
+    </Reference>
   </ItemGroup>
   <ItemGroup>
     <Compile Include="EFContext\RHDWContext.cs" />
@@ -88,6 +167,12 @@
   </ItemGroup>
   <ItemGroup>
     <None Include="app.config" />
+    <None Include="Oracle.DataAccess.Common.Configuration.Section.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Oracle.ManagedDataAccess.Client.Configuration.Section.xsd">
+      <SubType>Designer</SubType>
+    </None>
     <None Include="packages.config" />
   </ItemGroup>
   <ItemGroup>

+ 3 - 1
XdCxRhDW.Repostory/EFContext/RHDWContext.cs

@@ -41,10 +41,12 @@ namespace XdCxRhDW.Repostory
         public DbContextBase(string nameOrConnectionString)
             : base(nameOrConnectionString)
         {
+            Console.WriteLine(typeof(DbContext));
         }
         public DbContextBase(DbConnection con, bool contextOwnsConnection)
             : base(con, contextOwnsConnection)
-        { 
+        {
+            Console.WriteLine(typeof(DbContext));
         }
 
         /// <summary>

+ 138 - 0
XdCxRhDW.Repostory/Oracle.DataAccess.Common.Configuration.Section.xsd

@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+  <xs:simpleType name="parameterDirection">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Output"/>
+      <xs:enumeration value="InputOutput"/>
+      <xs:enumeration value="ReturnValue"/>
+      <xs:enumeration value="Implicit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="customBoolean">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="true"/>
+      <xs:enumeration value="false"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="ONSParameters">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="nodeList"/>
+      <!--<xs:enumeration value="walletFile"/>
+      <xs:enumeration value="walletPassword"/>-->
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="ONSModeValues">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="local"/>
+      <xs:enumeration value="remote"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="datatype">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="System.Binary"/>
+      <xs:enumeration value="System.Boolean"/>
+      <xs:enumeration value="System.Byte"/>
+      <xs:enumeration value="System.Byte[]"/>
+      <xs:enumeration value="System.Char"/>
+      <xs:enumeration value="System.DateTime"/>
+      <xs:enumeration value="System.DateTimeOffset"/>
+      <xs:enumeration value="System.Decimal"/>
+      <xs:enumeration value="System.Double"/>
+      <xs:enumeration value="System.Guid"/>
+      <xs:enumeration value="System.Int16"/>
+      <xs:enumeration value="System.Int32"/>
+      <xs:enumeration value="System.Int64"/>
+      <xs:enumeration value="System.SByte"/>
+      <xs:enumeration value="System.Single"/>
+      <xs:enumeration value="System.String"/>
+      <xs:enumeration value="System.TimeSpan"/>
+      <xs:enumeration value="System.UInt16"/>
+      <xs:enumeration value="System.UInt32"/>
+      <xs:enumeration value="System.UInt64"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="providerType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="BFile"/>
+      <xs:enumeration value="BinaryFloat"/>
+      <xs:enumeration value="BinaryDouble"/>
+      <xs:enumeration value="Blob"/>
+      <xs:enumeration value="Byte"/>
+      <xs:enumeration value="Char"/>
+      <xs:enumeration value="Clob"/>
+      <xs:enumeration value="Date"/>
+      <xs:enumeration value="Decimal"/>
+      <xs:enumeration value="Double"/>
+      <xs:enumeration value="Int16"/>
+      <xs:enumeration value="Int32"/>
+      <xs:enumeration value="Int64"/>
+      <xs:enumeration value="IntervalDS"/>
+      <xs:enumeration value="IntervalYM"/>
+      <xs:enumeration value="Long"/>
+      <xs:enumeration value="LongRaw"/>
+      <xs:enumeration value="NChar"/>
+      <xs:enumeration value="NClob"/>
+      <xs:enumeration value="NVarchar2"/>
+      <xs:enumeration value="Object"/>
+      <xs:enumeration value="Raw"/>
+      <xs:enumeration value="Single"/>
+      <xs:enumeration value="TimeStamp"/>
+      <xs:enumeration value="TimeStampLTZ"/>
+      <xs:enumeration value="TimeStampTZ"/>
+      <xs:enumeration value="Varchar2"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="nativeDataType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="BFile"/>
+      <xs:enumeration value="Binary_Float"/>
+      <xs:enumeration value="Binary_Double"/>
+      <xs:enumeration value="Blob"/>
+      <xs:enumeration value="Char"/>
+      <xs:enumeration value="Clob"/>
+      <xs:enumeration value="Date"/>
+      <xs:enumeration value="Number"/>
+      <xs:enumeration value="Interval Day To Second"/>
+      <xs:enumeration value="Interval Year To Month"/>
+      <xs:enumeration value="Long"/>
+      <xs:enumeration value="Long Raw"/>
+      <xs:enumeration value="NChar"/>
+      <xs:enumeration value="NClob"/>
+      <xs:enumeration value="NVarchar2"/>
+      <xs:enumeration value="Raw"/>
+      <xs:enumeration value="Rowid"/>
+      <xs:enumeration value="Timestamp"/>
+      <xs:enumeration value="Timestamp With Local Time Zone"/>
+      <xs:enumeration value="Timestamp With Time Zone"/>
+      <xs:enumeration value="URowid"/>
+      <xs:enumeration value="UserDefinedType"/>
+      <xs:enumeration value="Varchar2"/>
+      <xs:enumeration value="XmlType"/>
+    </xs:restriction>
+  </xs:simpleType>
+
+  <xs:simpleType name="providerDBType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="AnsiString"/>
+      <xs:enumeration value="AnsiStringFixedLength"/>
+      <xs:enumeration value="Binary"/>
+      <xs:enumeration value="Byte"/>
+      <xs:enumeration value="Date"/>
+      <xs:enumeration value="DateTime"/>
+      <xs:enumeration value="DateTimeOffset"/>
+      <xs:enumeration value="Decimal"/>
+      <xs:enumeration value="Double"/>
+      <xs:enumeration value="Int16"/>
+      <xs:enumeration value="Int32"/>
+      <xs:enumeration value="Int64"/>
+      <xs:enumeration value="Object"/>
+      <xs:enumeration value="Single"/>
+      <xs:enumeration value="String"/>
+      <xs:enumeration value="StringFixedLength"/>
+      <xs:enumeration value="Time"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:schema>

+ 221 - 0
XdCxRhDW.Repostory/Oracle.ManagedDataAccess.Client.Configuration.Section.xsd

@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+  <xs:include schemaLocation="Oracle.DataAccess.Common.Configuration.Section.xsd"/>
+  <xs:element name="oracle.manageddataaccess.client" >
+    <xs:complexType>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="version" type="odpmversiontype" minOccurs="0" />
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+  <xs:complexType name="odpmversiontype">
+    <xs:complexContent>
+      <xs:extension base="odpmparameters">
+        <xs:attribute name="number" type="xs:string" use="required" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="odpmparameters">
+    <xs:all>
+      <xs:element minOccurs="0" name="settings">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" minOccurs="0" name="setting">
+              <xs:complexType>
+                <xs:attribute name="name" type="xs:string" use="required" />
+                <xs:attribute name="value" type="xs:string" use="required" />
+              </xs:complexType>
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="udtMappings">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" minOccurs="0" name="udtMapping">
+              <xs:complexType>
+                <xs:attribute name="typeName" type="xs:string" use="required" />
+                <xs:attribute name="factoryName" type="xs:string" use="required" />
+                <xs:attribute name="dataSource" type="xs:string" use="required" />
+                <xs:attribute name="schemaName" type="xs:string" use="required" />
+              </xs:complexType>
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="LDAPsettings">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" minOccurs="0" name="LDAPsetting">
+              <xs:complexType>
+                <xs:attribute name="name" type="xs:string" use="required" />
+                <xs:attribute name="value" type="xs:string" use="required" />
+              </xs:complexType>
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="distributedTransaction">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" minOccurs="0" name="setting">
+              <xs:complexType>
+                <xs:attribute name="name" type="xs:string" use="required" />
+                <xs:attribute name="value" type="xs:string" use="required" />
+              </xs:complexType>
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="dataSources">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" minOccurs="0" name="dataSource">
+              <xs:complexType>
+                <xs:attribute name="alias" type="xs:string" use="required" />
+                <xs:attribute name="descriptor" type="xs:string" use="required" />
+              </xs:complexType>
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+
+      <xs:element minOccurs="0" name="connectionPools">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" minOccurs="0" name="connectionPool">
+              <xs:complexType>
+                <xs:attribute name="connectionString" type="xs:string" use="required" />
+                <xs:attribute name="poolName" type="xs:string" use="required" />
+              </xs:complexType>
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+
+
+      <xs:element minOccurs="0" name="edmMappings">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element minOccurs="0" maxOccurs="unbounded" name="edmMapping">
+              <xs:complexType>
+                <xs:sequence>
+                  <xs:element minOccurs="0" maxOccurs="unbounded" name="add">
+                    <xs:complexType>
+                      <xs:attribute name="name" type="xs:string" use="required" />
+                      <xs:attribute name="precision" type="xs:int" use="required" />
+                    </xs:complexType>
+                  </xs:element>
+                </xs:sequence>
+                <xs:attribute name="dataType" type="xs:string" use="required" />
+              </xs:complexType>
+            </xs:element>
+            <xs:element minOccurs="0" maxOccurs="unbounded" name="edmNumberMapping">
+              <xs:complexType>
+                <xs:sequence>
+                  <xs:element minOccurs="0" maxOccurs="unbounded" name="add">
+                    <xs:complexType>
+                      <xs:attribute name="NETType" type="xs:string" use="required" />
+                      <xs:attribute name="MinPrecision" type="xs:int" use="required" />
+                      <xs:attribute name="MaxPrecision" type="xs:int" use="required" />
+                      <xs:attribute name="DBType" type="xs:string" use="required" />
+                    </xs:complexType>
+                  </xs:element>
+                </xs:sequence>
+              </xs:complexType>
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="implicitRefCursor">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element maxOccurs="unbounded" minOccurs="0" name="storedProcedure">
+              <xs:complexType>
+                <xs:sequence>
+                  <xs:element maxOccurs="unbounded" minOccurs="1" name="refCursor">
+                    <xs:complexType>
+                      <xs:sequence>
+                        <xs:element maxOccurs="1" minOccurs="1" name="bindInfo">
+                          <xs:complexType>
+                            <xs:attribute name="mode" type="parameterDirection" use="required" />
+                          </xs:complexType>
+                        </xs:element>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="metadata">
+                          <xs:complexType>
+                            <xs:attribute name="columnOrdinal" type="xs:int" use="required" />
+                            <xs:attribute name="columnName" type="xs:string" use="required" />
+                            <xs:attribute name="baseColumnName" type="xs:string" use="optional" />
+                            <xs:attribute name="baseSchemaName" type="xs:string" use="optional" />
+                            <xs:attribute name="baseTableName" type="xs:string" use="optional" />
+                            <xs:attribute name="providerType" type="providerType" use="optional" />
+                            <xs:attribute name="columnSize" type="xs:int" use="optional" />
+                            <xs:attribute name="numericPrecision" type="xs:int" use="optional" />
+                            <xs:attribute name="numericScale" type="xs:int" use="optional" />
+                            <xs:attribute name="isUnique" type="customBoolean" use="optional" />
+                            <xs:attribute name="isKey" type="customBoolean" use="optional" />
+                            <xs:attribute name="isRowID" type="customBoolean" use="optional" />
+                            <xs:attribute name="dataType" type="datatype" use="optional" />
+                            <xs:attribute name="allowDBNull" type="customBoolean" use="optional" />
+                            <xs:attribute name="isAliased" type="customBoolean" use="optional" />
+                            <xs:attribute name="isByteSemantic" type="customBoolean" use="optional" />
+                            <xs:attribute name="isExpression" type="customBoolean" use="optional" />
+                            <xs:attribute name="isHidden" type="customBoolean" use="optional" />
+                            <xs:attribute name="isReadOnly" type="customBoolean" use="optional" />
+                            <xs:attribute name="isLong" type="customBoolean" use="optional" />
+                            <xs:attribute name="udtTypeName" type="xs:string" use="optional" />
+                            <xs:attribute name="nativeDataType" type="nativeDataType" use="optional" />
+                            <xs:attribute name="providerDBType" type="providerDBType" use="optional" />
+                            <xs:attribute name="objectName" type="xs:string" use="optional" />
+                          </xs:complexType>
+                        </xs:element>
+                      </xs:sequence>
+                      <xs:attribute name="name" type="xs:string" use="optional" />
+                      <xs:attribute name="position" type="xs:int" use="optional" />
+                    </xs:complexType>
+                  </xs:element>
+                </xs:sequence>
+                <xs:attribute name="schema" type="xs:string" use="optional" />
+                <xs:attribute name="name" type="xs:string" use="required" />
+              </xs:complexType>
+            </xs:element>
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+      <xs:element minOccurs="0" name="onsConfig">
+        <xs:complexType>
+          <xs:sequence>
+ 		    <xs:element minOccurs="0" name="settings">
+				<xs:complexType>
+				  <xs:sequence>
+					<xs:element maxOccurs="2" minOccurs="0" name="setting">
+					  <xs:complexType>
+						<xs:attribute name="name" type="xs:string" use="required" />
+						<xs:attribute name="value" type="xs:string" use="required" />
+					  </xs:complexType>
+					</xs:element>
+				  </xs:sequence>
+				</xs:complexType>
+			</xs:element>
+            <xs:element minOccurs="0" maxOccurs="unbounded" name="ons">
+              <xs:complexType>
+                <xs:sequence>
+                  <xs:element maxOccurs="3" minOccurs="1" name="add">
+                    <xs:complexType>
+                      <xs:attribute name="name" type="ONSParameters" use="required" />
+                      <xs:attribute name="value" type="xs:string" use="required" />
+                    </xs:complexType>
+                  </xs:element>
+                </xs:sequence>
+                <xs:attribute name="database" type="xs:string" use="required" />
+              </xs:complexType>
+            </xs:element>
+          </xs:sequence>
+          <xs:attribute name="configFile" type="xs:string" use="optional" />
+          <xs:attribute name="mode" type="ONSModeValues" use="required" />
+        </xs:complexType>
+      </xs:element>
+    </xs:all>
+  </xs:complexType>
+</xs:schema>

+ 22 - 1
XdCxRhDW.Repostory/app.config

@@ -1,9 +1,30 @@
 <?xml version="1.0" encoding="utf-8"?>
 <configuration>
+  <configSections>
+    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
+  </configSections>
   <system.data>
     <DbProviderFactories>
       <remove invariant="System.Data.SQLite.EF6" />
       <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
-    <remove invariant="System.Data.SQLite" /><add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /></DbProviderFactories>
+      <remove invariant="System.Data.SQLite" />
+      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+      <remove invariant="Npgsql" />
+      <add name="Npgsql Provider" invariant="Npgsql" description=".NET Framework Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql, Version=4.1.3.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
+      <remove invariant="Oracle.ManagedDataAccess.Client" />
+      <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
+    </DbProviderFactories>
   </system.data>
+  <entityFramework>
+    <providers>
+      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=9.1.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
+      </provider>
+      <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
+      <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
+    </providers>
+    <defaultConnectionFactory type="Npgsql.NpgsqlConnectionFactory, EntityFramework6.Npgsql" />
+  </entityFramework>
+  <connectionStrings>
+    <add name="OracleDbContext" providerName="Oracle.ManagedDataAccess.Client" connectionString="User Id=oracle_user;Password=oracle_user_password;Data Source=oracle" />
+  </connectionStrings>
 </configuration>

+ 25 - 0
XdCxRhDW.Repostory/packages.config

@@ -1,15 +1,40 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
+  <package id="BouncyCastle.Cryptography" version="2.4.0" targetFramework="net472" />
   <package id="EntityFramework" version="6.5.1" targetFramework="net472" />
+  <package id="EntityFramework6.Npgsql" version="6.4.3" targetFramework="net472" />
+  <package id="Google.Protobuf" version="3.28.3" targetFramework="net472" />
+  <package id="K4os.Compression.LZ4" version="1.3.8" targetFramework="net472" />
+  <package id="K4os.Compression.LZ4.Streams" version="1.3.8" targetFramework="net472" />
+  <package id="K4os.Hash.xxHash" version="1.0.8" targetFramework="net472" />
+  <package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net472" />
+  <package id="Microsoft.Bcl.HashCode" version="6.0.0" targetFramework="net472" />
+  <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.0" targetFramework="net472" />
+  <package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.0" targetFramework="net472" />
+  <package id="MySql.Data" version="9.1.0" targetFramework="net472" />
+  <package id="MySql.Data.EntityFramework" version="9.1.0" targetFramework="net472" />
+  <package id="Npgsql" version="8.0.5" targetFramework="net472" />
+  <package id="Oracle.ManagedDataAccess" version="23.6.1" targetFramework="net472" />
+  <package id="Oracle.ManagedDataAccess.EntityFramework" version="23.4.0" targetFramework="net472" />
   <package id="SQLite.CodeFirst" version="1.7.0.36" targetFramework="net472" />
   <package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.119.0" targetFramework="net472" />
   <package id="System.Buffers" version="4.6.0" targetFramework="net472" />
+  <package id="System.Collections.Immutable" version="9.0.0" targetFramework="net472" />
+  <package id="System.Configuration.ConfigurationManager" version="9.0.0" targetFramework="net472" />
   <package id="System.Data.SQLite" version="1.0.119.0" targetFramework="net472" />
   <package id="System.Data.SQLite.Core" version="1.0.119.0" targetFramework="net472" />
   <package id="System.Data.SQLite.EF6" version="1.0.119.0" targetFramework="net472" />
   <package id="System.Data.SQLite.Linq" version="1.0.119.0" targetFramework="net472" />
   <package id="System.Diagnostics.DiagnosticSource" version="9.0.0" targetFramework="net472" />
+  <package id="System.Formats.Asn1" version="9.0.0" targetFramework="net472" />
+  <package id="System.IO.Pipelines" version="9.0.0" targetFramework="net472" />
   <package id="System.Memory" version="4.6.0" targetFramework="net472" />
   <package id="System.Numerics.Vectors" version="4.6.0" targetFramework="net472" />
   <package id="System.Runtime.CompilerServices.Unsafe" version="6.1.0" targetFramework="net472" />
+  <package id="System.Text.Encodings.Web" version="9.0.0" targetFramework="net472" />
+  <package id="System.Text.Json" version="9.0.0" targetFramework="net472" />
+  <package id="System.Threading.Channels" version="9.0.0" targetFramework="net472" />
+  <package id="System.Threading.Tasks.Extensions" version="4.6.0" targetFramework="net472" />
+  <package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
+  <package id="ZstdSharp.Port" version="0.8.2" targetFramework="net472" />
 </packages>

+ 0 - 7
XdCxRhDW.WebApi/05.XdCxRhDW.WebApi.csproj

@@ -204,11 +204,4 @@
     </ProjectReference>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
-    <PropertyGroup>
-      <ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
-    </PropertyGroup>
-    <Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
-  </Target>
-  <Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.118.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
 </Project>

+ 0 - 8
XdCxRhDW.WebApi/ILLink/ILLink.Descriptors.LibraryBuild.xml

@@ -1,8 +0,0 @@
-<linker>
-  <assembly fullname="System.Diagnostics.DiagnosticSource">
-    <type fullname="System.Diagnostics.Metrics.MetricsEventSource">
-      <!-- Used by System.Private.CoreLib via reflection to init the EventSource -->
-      <method name="GetInstance" />
-    </type>
-  </assembly>
-</linker>

+ 31 - 1
XdCxRhDW.WebApi/SignalR/Server.cs

@@ -10,10 +10,18 @@ using System.Threading.Tasks;
 
 namespace XdCxRhDW.WebApi.SignalR
 {
+    /// <summary>
+    /// 
+    /// </summary>
     [HubName("MyTestHub")]
     public class MyHub : Hub
     {
 
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="name"></param>
+        /// <param name="message"></param>
         public void Send(string name, string message)
         {
             String msg = String.Format("Message send by {0}: {1}", name, message);
@@ -22,17 +30,28 @@ namespace XdCxRhDW.WebApi.SignalR
 
         }
 
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="projectNo"></param>
         public void Sign(string projectNo)
         {
             Groups.Add(Context.ConnectionId, projectNo);
 
         }
-
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="name"></param>
         public void SameGroupMessage(string name)
         {
             Clients.Group(name).SendClient($"咱们是同一个组{name}");
         }
 
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <returns></returns>
         public override Task OnConnected()
         {
             Console.WriteLine("Client connected: " + Context.ConnectionId);
@@ -40,6 +59,11 @@ namespace XdCxRhDW.WebApi.SignalR
 
             return base.OnConnected();
         }
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="stopCall"></param>
+        /// <returns></returns>
         public override Task OnDisconnected(Boolean stopCall)
         {
             Console.WriteLine("Client disconnected: " + Context.ConnectionId);
@@ -47,9 +71,15 @@ namespace XdCxRhDW.WebApi.SignalR
         }
     }
 
+    /// <summary>
+    /// 
+    /// </summary>
     public class GlobalModel
     {
 
+        /// <summary>
+        /// 
+        /// </summary>
         public static List<string> _ids = new List<string>();
     }
 }

+ 1 - 0
XdCxRhDW.WebApi/Startup.cs

@@ -90,6 +90,7 @@ namespace XdCxRhDW.WebApi
             Console.WriteLine(typeof(Microsoft.Owin.Security.AuthenticateResult));
             Console.WriteLine(typeof(System.Diagnostics.Activity));
             Console.WriteLine(typeof(Microsoft.Owin.Security.AuthenticationTicket));
+            Console.WriteLine(typeof(System.Net.Http.Formatting.QueryStringMapping));
 
             _timeZoneUtc = timeZoneUtc;
             _controllerXmlName = controllerXmlName;