diff --git a/EasilyNET.sln b/EasilyNET.sln index 433d72c0..73b678d7 100644 --- a/EasilyNET.sln +++ b/EasilyNET.sln @@ -66,10 +66,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApi.Test.Unit", "sample\ EndProject Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{771BAFD8-69AB-4F2E-9FBF-0280E83953BF}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LiteDB", "LiteDB", "{9E0F32B2-D021-4321-9426-81D00458EA70}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EasilyNET.LiteDB.Core", "src\EasilyNET.LiteDB.Core\EasilyNET.LiteDB.Core.csproj", "{1392E8DC-3F8A-43AD-9AC8-DE9B6A3A0542}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -147,10 +143,6 @@ Global {771BAFD8-69AB-4F2E-9FBF-0280E83953BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {771BAFD8-69AB-4F2E-9FBF-0280E83953BF}.Debug|Any CPU.Build.0 = Debug|Any CPU {771BAFD8-69AB-4F2E-9FBF-0280E83953BF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1392E8DC-3F8A-43AD-9AC8-DE9B6A3A0542}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1392E8DC-3F8A-43AD-9AC8-DE9B6A3A0542}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1392E8DC-3F8A-43AD-9AC8-DE9B6A3A0542}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1392E8DC-3F8A-43AD-9AC8-DE9B6A3A0542}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -176,8 +168,6 @@ Global {7E493CA2-CB0C-77E0-B442-5ED204493F13} = {8D626EA8-CB54-BC41-363A-217881BEBA6E} {8F9C18F9-A526-DCA0-597F-90D64AE5C6C2} = {8D626EA8-CB54-BC41-363A-217881BEBA6E} {9B426136-DC85-603B-94FB-F3C0B2E72713} = {4F9DEAE5-078F-E77A-2E4A-FEB6FFE226FF} - {9E0F32B2-D021-4321-9426-81D00458EA70} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} - {1392E8DC-3F8A-43AD-9AC8-DE9B6A3A0542} = {9E0F32B2-D021-4321-9426-81D00458EA70} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BF2C0069-ED43-44A1-A66C-2CC1B62E3EA3} diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 73d4b50b..17bc2b19 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -13,7 +13,6 @@ - diff --git a/src/EasilyNET.AutoDependencyInjection/Modules/ModuleApplicationBase.cs b/src/EasilyNET.AutoDependencyInjection/Modules/ModuleApplicationBase.cs index 691ba88b..5b07f675 100644 --- a/src/EasilyNET.AutoDependencyInjection/Modules/ModuleApplicationBase.cs +++ b/src/EasilyNET.AutoDependencyInjection/Modules/ModuleApplicationBase.cs @@ -63,7 +63,7 @@ private IReadOnlyList LoadModules /// /// IServiceProvider? /// - public IServiceProvider? ServiceProvider { get; private set; } + public IServiceProvider? ServiceProvider { get; set; } /// /// 模块接口容器 diff --git a/src/EasilyNET.AutoDependencyInjection/Modules/StartupModuleRunner.cs b/src/EasilyNET.AutoDependencyInjection/Modules/StartupModuleRunner.cs index 7b322f0b..c3020d9f 100644 --- a/src/EasilyNET.AutoDependencyInjection/Modules/StartupModuleRunner.cs +++ b/src/EasilyNET.AutoDependencyInjection/Modules/StartupModuleRunner.cs @@ -22,10 +22,7 @@ internal StartupModuleRunner(Type startupModuleType, IServiceCollection services /// private void ConfigureServices() { - if (ServiceProvider is null) - { - SetServiceProvider(Services.BuildServiceProvider()); - } + if (ServiceProvider is null) SetServiceProvider(Services.BuildServiceProvider()); var context = new ConfigureServicesContext(Services, ServiceProvider); Services.AddSingleton(context); foreach (var config in Modules) diff --git a/src/EasilyNET.Core/Language/CustomIntEnumeratorExtension.cs b/src/EasilyNET.Core/Language/CustomIntEnumeratorExtension.cs index 91ca0b19..e8902934 100644 --- a/src/EasilyNET.Core/Language/CustomIntEnumeratorExtension.cs +++ b/src/EasilyNET.Core/Language/CustomIntEnumeratorExtension.cs @@ -40,12 +40,20 @@ public static class CustomIntEnumeratorExtension /// } /// OutPut: /// 1,2,3 + /// foreach (var i in 3) + /// { + /// Console.WriteLine(i); + /// } + /// OutPut: + /// 0,1,2,3 /// ]]> /// /// public struct CustomIntEnumerator { - // public ref struct CustomIntEnumerator,其中ref标识符是否有必要? + // public ref struct CustomIntEnumerator + // ref struct的设计是为了限制该结构体只能堆栈上分配, + // 不能在托管堆上分配.这通常用于高性能的场景,以减少垃圾回收的压力. private readonly int _end; /// diff --git a/src/EasilyNET.LiteDB.Core/EasilyNET.LiteDB.Core.csproj b/src/EasilyNET.LiteDB.Core/EasilyNET.LiteDB.Core.csproj deleted file mode 100644 index 477b0cd3..00000000 --- a/src/EasilyNET.LiteDB.Core/EasilyNET.LiteDB.Core.csproj +++ /dev/null @@ -1,22 +0,0 @@ - - - - $(PackagePrefix).LiteDB.Core - $(PackagePrefix).LiteDB.Core - $(PackagePrefix).LiteDB.Core - LiteDB - - - EasilyNET.LiteDB.Core - - - - https://www.nuget.org/packages/EasilyNET.LiteDB.Core - LiteDB 驱动的服务包,方便使用 LiteDB 数据库. - - - - - - - diff --git a/src/EasilyNET.LiteDB.Core/LiteDbContext.cs b/src/EasilyNET.LiteDB.Core/LiteDbContext.cs deleted file mode 100644 index 752a87ed..00000000 --- a/src/EasilyNET.LiteDB.Core/LiteDbContext.cs +++ /dev/null @@ -1,53 +0,0 @@ -using LiteDB; - -namespace EasilyNET.LiteDB.Core; - -/// -/// LiteDbContext -/// -public class LiteDbContext : IDisposable -{ - /// - /// Database - /// - private ILiteDatabase Database { get; set; } = default!; - - /// - public void Dispose() - { - if (Database is { } db) - { - db.Dispose(); - } - } - - /// - /// 获取 . - /// - /// 实体类型 - /// 集合名称 - /// - public ILiteCollection GetCollection(string name) where TDoc : class - { - ArgumentException.ThrowIfNullOrWhiteSpace(name, nameof(name)); - return Database.GetCollection(name); - } - - private static ILiteDatabase GetDatabase(string conn) - { - ArgumentException.ThrowIfNullOrWhiteSpace(conn, nameof(conn)); - return new LiteDatabase(conn, new()); - } - - /// - /// - /// - /// - /// - public static T CreateInstance(string conn) where T : LiteDbContext - { - var t = Activator.CreateInstance(); - t.Database = GetDatabase(conn); - return t; - } -} \ No newline at end of file diff --git a/src/EasilyNET.LiteDB.Core/README.md b/src/EasilyNET.LiteDB.Core/README.md deleted file mode 100644 index 8a3c70ff..00000000 --- a/src/EasilyNET.LiteDB.Core/README.md +++ /dev/null @@ -1,4 +0,0 @@ -### EasilyNET.LiteDB.Core - -- 提供 DbContext 类型,为业务层提供分离 -- 提供业务中会使用到的一些数据类型 \ No newline at end of file diff --git a/test/EasilyNET.Test.Unit/Language/CustomIntEnumeratorTest.cs b/test/EasilyNET.Test.Unit/Language/CustomIntEnumeratorTest.cs index 7dd5aace..a715be38 100644 --- a/test/EasilyNET.Test.Unit/Language/CustomIntEnumeratorTest.cs +++ b/test/EasilyNET.Test.Unit/Language/CustomIntEnumeratorTest.cs @@ -16,7 +16,7 @@ public void TestCustomIntEnumeratorExtension(int value) { foreach (var i in ..value) { - Console.WriteLine(i.ToString()); + Console.WriteLine(i); } } @@ -29,7 +29,20 @@ public void OneToValue(int value) { foreach (var i in 1..value) { - Console.WriteLine(i.ToString()); + Console.WriteLine(i); + } + } + + /// + /// CustomIntEnumeratorExtension Test + /// + /// + [TestMethod, DataRow(3), DataRow(5)] + public void OnlyValue(int value) + { + foreach (var i in value) + { + Console.WriteLine(i); } } } \ No newline at end of file