From 2f5c3aca6749f48a69cb657036b1d37245843a0f Mon Sep 17 00:00:00 2001 From: feijie Date: Tue, 22 Oct 2024 15:07:42 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=F0=9F=8E=89=20=E6=9B=B4=E6=96=B0(version):?= =?UTF-8?q?=20=E5=B0=86=E7=89=88=E6=9C=AC=E5=8F=B7=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=B8=BA8.2=EF=BC=8C=E5=B9=B6=E6=B7=BB=E5=8A=A0=E5=8C=85?= =?UTF-8?q?=E8=BE=93=E5=87=BA=E8=B7=AF=E5=BE=84=E5=92=8C=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=8C=85=E8=AE=BE=E7=BD=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Directory.Build.props | 5 +++++ README.md | 2 +- Vertex.sln | 2 ++ version.json | 2 +- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index cc7fa93..268d8f9 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -22,12 +22,17 @@ Vertex uless 1701;1702;1705;1591 + + + $(SolutionDir)/package/$(Configuration) + true true true true + true portable diff --git a/README.md b/README.md index c931c75..7886ad6 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ --- * 框架采用Event sourcing来解决分布式事务问题,除了提供超高吞吐的分布式事务能力之外,还提供状态变化的详细事件日志,易于追踪溯源,在某些领域有着天然的优势。 -* 基于. Net 6.0和Orleans开发,支持从单个本地服务器扩展到多服务器集群,提供高可用能力。 +* 基于. Net 8.0和Orleans开发,支持从单个本地服务器扩展到多服务器集群,提供高可用能力。 --- ### 项目起源 diff --git a/Vertex.sln b/Vertex.sln index 134fe0f..1beb2fa 100644 --- a/Vertex.sln +++ b/Vertex.sln @@ -59,6 +59,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ProjectSection(SolutionItems) = preProject .editorconfig = .editorconfig Packages.props = Packages.props + Directory.Build.props = Directory.Build.props + README.md = README.md EndProjectSection EndProject Global diff --git a/version.json b/version.json index c38732f..7c1cd8b 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "1.5", + "version": "8.2", "publicReleaseRefSpec": [ "^refs/heads/main$", "^refs/tags/v\\d+\\.\\d+\\.\\d+" From 4d5abe843051fdc778c1e0ce2e514741cdbad030 Mon Sep 17 00:00:00 2001 From: feijie Date: Tue, 22 Oct 2024 15:08:49 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=F0=9F=8E=A8=20=E4=BF=AE=E5=A4=8D(ConsumerM?= =?UTF-8?q?anager):=20=E6=B7=BB=E5=8A=A0=E5=8F=96=E6=B6=88=E4=BB=A4?= =?UTF-8?q?=E7=89=8C=E4=BB=A5=E6=94=B9=E5=96=84=E5=AE=9A=E6=97=B6=E5=99=A8?= =?UTF-8?q?=E7=9A=84=E5=BC=82=E6=AD=A5=E8=B0=83=E7=94=A8=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Vertex.Stream.InMemory/Consumer/ConsumerManager.cs | 6 +++--- src/Stream/Vertex.Stream.Kafka/Consumer/ConsumerManager.cs | 6 +++--- .../Vertex.Stream.RabbitMQ/Consumer/ConsumerManager.cs | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Stream/Vertex.Stream.InMemory/Consumer/ConsumerManager.cs b/src/Stream/Vertex.Stream.InMemory/Consumer/ConsumerManager.cs index 0897b7e..7ff0492 100644 --- a/src/Stream/Vertex.Stream.InMemory/Consumer/ConsumerManager.cs +++ b/src/Stream/Vertex.Stream.InMemory/Consumer/ConsumerManager.cs @@ -86,9 +86,9 @@ public Task StartAsync(CancellationToken cancellationToken) this.logger.LogInformation("EventBus Background Service is starting."); } - this.distributedMonitorTime = new Timer(state => this.DistributedStart().Wait(), null, 1000, MonitTime); - this.distributedHoldTimer = new Timer(state => this.DistributedHold().Wait(), null, HoldTime, HoldTime); - this.heathCheckTimer = new Timer(state => { this.HeathCheck().Wait(); }, null, CheckTime, CheckTime); + this.distributedMonitorTime = new Timer(state => this.DistributedStart().Wait(cancellationToken), null, 1000, MonitTime); + this.distributedHoldTimer = new Timer(state => this.DistributedHold().Wait(cancellationToken), null, HoldTime, HoldTime); + this.heathCheckTimer = new Timer(state => { this.HeathCheck().Wait(cancellationToken); }, null, CheckTime, CheckTime); return Task.CompletedTask; } diff --git a/src/Stream/Vertex.Stream.Kafka/Consumer/ConsumerManager.cs b/src/Stream/Vertex.Stream.Kafka/Consumer/ConsumerManager.cs index 8b26222..a2f7893 100644 --- a/src/Stream/Vertex.Stream.Kafka/Consumer/ConsumerManager.cs +++ b/src/Stream/Vertex.Stream.Kafka/Consumer/ConsumerManager.cs @@ -87,9 +87,9 @@ public Task StartAsync(CancellationToken cancellationToken) this.logger.LogInformation("EventBus Background Service is starting."); } - this.distributedMonitorTime = new Timer(state => this.DistributedStart().Wait(), null, 1000, MonitTime); - this.distributedHoldTimer = new Timer(state => this.DistributedHold().Wait(), null, HoldTime, HoldTime); - this.heathCheckTimer = new Timer(state => { this.HeathCheck().Wait(); }, null, CheckTime, CheckTime); + this.distributedMonitorTime = new Timer(state => this.DistributedStart().Wait(cancellationToken), null, 1000, MonitTime); + this.distributedHoldTimer = new Timer(state => this.DistributedHold().Wait(cancellationToken), null, HoldTime, HoldTime); + this.heathCheckTimer = new Timer(state => { this.HeathCheck().Wait(cancellationToken); }, null, CheckTime, CheckTime); return Task.CompletedTask; } diff --git a/src/Stream/Vertex.Stream.RabbitMQ/Consumer/ConsumerManager.cs b/src/Stream/Vertex.Stream.RabbitMQ/Consumer/ConsumerManager.cs index 4ada5f0..da2aeb4 100644 --- a/src/Stream/Vertex.Stream.RabbitMQ/Consumer/ConsumerManager.cs +++ b/src/Stream/Vertex.Stream.RabbitMQ/Consumer/ConsumerManager.cs @@ -83,9 +83,9 @@ public Task StartAsync(CancellationToken cancellationToken) this.logger.LogInformation("EventBus Background Service is starting."); } - this.distributedMonitorTime = new Timer(state => this.DistributedStart().Wait(), null, 1000, MonitTime); - this.distributedHoldTimer = new Timer(state => this.DistributedHold().Wait(), null, HoldTime, HoldTime); - this.heathCheckTimer = new Timer(state => { this.HeathCheck().Wait(); }, null, CheckTime, CheckTime); + this.distributedMonitorTime = new Timer(state => this.DistributedStart().Wait(cancellationToken), null, 1000, MonitTime); + this.distributedHoldTimer = new Timer(state => this.DistributedHold().Wait(cancellationToken), null, HoldTime, HoldTime); + this.heathCheckTimer = new Timer(state => { this.HeathCheck().Wait(cancellationToken); }, null, CheckTime, CheckTime); return Task.CompletedTask; } From 367642bec2100fd5f7ab426fc69e98256d743296 Mon Sep 17 00:00:00 2001 From: feijie Date: Thu, 24 Oct 2024 09:42:37 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E2=9C=A8=20feat(exceptions):=20=E4=B8=BA?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E7=B1=BB=E6=B7=BB=E5=8A=A0=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8C=96=E7=94=9F=E6=88=90=E5=99=A8=E5=92=8C=20ID=20=E5=B1=9E?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Vertex.Runtime/Exceptions/EventVersionException.cs | 6 ++++++ src/Vertex.Runtime/Exceptions/SnapshotException.cs | 6 ++++++ .../Exceptions/VertexEventHandlerException.cs | 2 ++ 3 files changed, 14 insertions(+) diff --git a/src/Vertex.Runtime/Exceptions/EventVersionException.cs b/src/Vertex.Runtime/Exceptions/EventVersionException.cs index 6ff4245..06d9934 100644 --- a/src/Vertex.Runtime/Exceptions/EventVersionException.cs +++ b/src/Vertex.Runtime/Exceptions/EventVersionException.cs @@ -1,7 +1,9 @@ using System; +using Orleans; namespace Vertex.Runtime.Exceptions { + [GenerateSerializer] public class EventVersionException : Exception { public EventVersionException(string id, Type type, long eventVersion, long snapshotVersion) @@ -13,12 +15,16 @@ public EventVersionException(string id, Type type, long eventVersion, long snaps this.EventVersion = eventVersion; } + [Id(0)] public string GrainTypeName { get; set; } + [Id(1)] public string ActorId { get; set; } + [Id(2)] public long SnapshotVersion { get; set; } + [Id(3)] public long EventVersion { get; set; } } } diff --git a/src/Vertex.Runtime/Exceptions/SnapshotException.cs b/src/Vertex.Runtime/Exceptions/SnapshotException.cs index 8619ac8..b7836e5 100644 --- a/src/Vertex.Runtime/Exceptions/SnapshotException.cs +++ b/src/Vertex.Runtime/Exceptions/SnapshotException.cs @@ -1,7 +1,9 @@ using System; +using Orleans; namespace Vertex.Runtime.Exceptions { + [GenerateSerializer] public class SnapshotException : Exception { public SnapshotException(string id, Type grainType, long doingVersion, long snapshotVersion) @@ -13,12 +15,16 @@ public SnapshotException(string id, Type grainType, long doingVersion, long snap this.DoingVersion = doingVersion; } + [Id(0)] public string GrainTypeName { get; set; } + [Id(1)] public string ActorId { get; set; } + [Id(2)] public long SnapshotVersion { get; set; } + [Id(3)] public long DoingVersion { get; set; } } } diff --git a/src/Vertex.Runtime/Exceptions/VertexEventHandlerException.cs b/src/Vertex.Runtime/Exceptions/VertexEventHandlerException.cs index a7d0bd4..c88e4a1 100644 --- a/src/Vertex.Runtime/Exceptions/VertexEventHandlerException.cs +++ b/src/Vertex.Runtime/Exceptions/VertexEventHandlerException.cs @@ -1,7 +1,9 @@ using System; +using Orleans; namespace Vertex.Runtime.Exceptions { + [GenerateSerializer] public class VertexEventHandlerException : Exception { public VertexEventHandlerException(Type eventType) From 287b7b5145c978e6df04a23c4921e52ba58089e8 Mon Sep 17 00:00:00 2001 From: feijie Date: Fri, 25 Oct 2024 15:19:04 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=F0=9F=8E=A8=20=E6=9B=B4=E6=96=B0(version):?= =?UTF-8?q?=20=E5=B0=86=E7=89=88=E6=9C=AC=E5=8F=B7=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=B8=BA=208.2.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🔧 修复(EventConverter): 修复文件编码问题 🔧 修复(EventTypeContainer): 修复文件编码问题 🔧 修复(SnapshotDb): 修改映射架构以使用 LinqToDB 🔧 修复(SubSnapshotDb): 修改映射架构以使用 LinqToDB 🔧 更新(Packages): 更新 linq2db 包版本至 6.0.0-preview.1 🔧 修复(EventDb): 修改映射架构以使用 LinqToDB --- Packages.props | 2 +- src/Storage/Vertex.Storage.Linq2db/Db/EventDb.cs | 2 +- src/Storage/Vertex.Storage.Linq2db/Db/SnapshotDb.cs | 4 ++-- src/Storage/Vertex.Storage.Linq2db/Db/SubSnapshotDb.cs | 2 +- src/Vertex.Protocol/EventConverter.cs.cs | 2 +- src/Vertex.Runtime/Serialization/EventTypeContainer.cs | 2 +- version.json | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Packages.props b/Packages.props index 769d378..c61a939 100644 --- a/Packages.props +++ b/Packages.props @@ -32,7 +32,7 @@ - + diff --git a/src/Storage/Vertex.Storage.Linq2db/Db/EventDb.cs b/src/Storage/Vertex.Storage.Linq2db/Db/EventDb.cs index dabdf1a..4835495 100644 --- a/src/Storage/Vertex.Storage.Linq2db/Db/EventDb.cs +++ b/src/Storage/Vertex.Storage.Linq2db/Db/EventDb.cs @@ -9,7 +9,7 @@ public class EventDb : DataConnection public EventDb(string name) : base(name) { - this.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => + LinqToDB.Mapping.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => { entityDescriptor.TableName = entityDescriptor.TableName.ToLower(); foreach (var entityDescriptorColumn in entityDescriptor.Columns) diff --git a/src/Storage/Vertex.Storage.Linq2db/Db/SnapshotDb.cs b/src/Storage/Vertex.Storage.Linq2db/Db/SnapshotDb.cs index 6c0881a..42486a0 100644 --- a/src/Storage/Vertex.Storage.Linq2db/Db/SnapshotDb.cs +++ b/src/Storage/Vertex.Storage.Linq2db/Db/SnapshotDb.cs @@ -9,7 +9,7 @@ public class SnapshotDb : DataConnection public SnapshotDb(string name) : base(name) { - this.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => + LinqToDB.Mapping.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => { entityDescriptor.TableName = entityDescriptor.TableName.ToLower(); foreach (var entityDescriptorColumn in entityDescriptor.Columns) @@ -21,4 +21,4 @@ public SnapshotDb(string name) public ITable> Table() => this.GetTable>(); } -} +} \ No newline at end of file diff --git a/src/Storage/Vertex.Storage.Linq2db/Db/SubSnapshotDb.cs b/src/Storage/Vertex.Storage.Linq2db/Db/SubSnapshotDb.cs index e4bbd6f..fb03c99 100644 --- a/src/Storage/Vertex.Storage.Linq2db/Db/SubSnapshotDb.cs +++ b/src/Storage/Vertex.Storage.Linq2db/Db/SubSnapshotDb.cs @@ -9,7 +9,7 @@ public class SubSnapshotDb : DataConnection public SubSnapshotDb(string name) : base(name) { - this.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => + LinqToDB.Mapping.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => { entityDescriptor.TableName = entityDescriptor.TableName.ToLower(); foreach (var entityDescriptorColumn in entityDescriptor.Columns) diff --git a/src/Vertex.Protocol/EventConverter.cs.cs b/src/Vertex.Protocol/EventConverter.cs.cs index dbaf0e8..f23296c 100644 --- a/src/Vertex.Protocol/EventConverter.cs.cs +++ b/src/Vertex.Protocol/EventConverter.cs.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Text; using Vertex.Utils; diff --git a/src/Vertex.Runtime/Serialization/EventTypeContainer.cs b/src/Vertex.Runtime/Serialization/EventTypeContainer.cs index 8ca64cf..30da300 100644 --- a/src/Vertex.Runtime/Serialization/EventTypeContainer.cs +++ b/src/Vertex.Runtime/Serialization/EventTypeContainer.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Concurrent; using System.Linq; using Microsoft.Extensions.Logging; diff --git a/version.json b/version.json index 7c1cd8b..bdf9c6f 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "8.2", + "version": "8.2.0", "publicReleaseRefSpec": [ "^refs/heads/main$", "^refs/tags/v\\d+\\.\\d+\\.\\d+" From 0ac3e522b17f0ef92e7863af3594060e143f10b9 Mon Sep 17 00:00:00 2001 From: feijie Date: Fri, 25 Oct 2024 15:19:04 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=F0=9F=8E=A8=20=E6=9B=B4=E6=96=B0(version):?= =?UTF-8?q?=20=E5=B0=86=E7=89=88=E6=9C=AC=E5=8F=B7=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=B8=BA=208.2.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🔧 修复(EventConverter): 修复文件编码问题 🔧 修复(EventTypeContainer): 修复文件编码问题 🔧 修复(SnapshotDb): 修改映射架构以使用 LinqToDB 🔧 修复(SubSnapshotDb): 修改映射架构以使用 LinqToDB 🔧 更新(Packages): 更新 linq2db 包版本至 6.0.0-preview.1 🔧 修复(EventDb): 修改映射架构以使用 LinqToDB --- Packages.props | 2 +- examples/Packages.props | 2 +- src/Storage/Vertex.Storage.Linq2db/Db/EventDb.cs | 2 +- src/Storage/Vertex.Storage.Linq2db/Db/SnapshotDb.cs | 4 ++-- src/Storage/Vertex.Storage.Linq2db/Db/SubSnapshotDb.cs | 2 +- src/Vertex.Protocol/EventConverter.cs.cs | 2 +- src/Vertex.Runtime/Serialization/EventTypeContainer.cs | 2 +- version.json | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Packages.props b/Packages.props index 769d378..c61a939 100644 --- a/Packages.props +++ b/Packages.props @@ -32,7 +32,7 @@ - + diff --git a/examples/Packages.props b/examples/Packages.props index 5326166..b2c6736 100644 --- a/examples/Packages.props +++ b/examples/Packages.props @@ -5,7 +5,7 @@ - + \ No newline at end of file diff --git a/src/Storage/Vertex.Storage.Linq2db/Db/EventDb.cs b/src/Storage/Vertex.Storage.Linq2db/Db/EventDb.cs index dabdf1a..4835495 100644 --- a/src/Storage/Vertex.Storage.Linq2db/Db/EventDb.cs +++ b/src/Storage/Vertex.Storage.Linq2db/Db/EventDb.cs @@ -9,7 +9,7 @@ public class EventDb : DataConnection public EventDb(string name) : base(name) { - this.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => + LinqToDB.Mapping.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => { entityDescriptor.TableName = entityDescriptor.TableName.ToLower(); foreach (var entityDescriptorColumn in entityDescriptor.Columns) diff --git a/src/Storage/Vertex.Storage.Linq2db/Db/SnapshotDb.cs b/src/Storage/Vertex.Storage.Linq2db/Db/SnapshotDb.cs index 6c0881a..42486a0 100644 --- a/src/Storage/Vertex.Storage.Linq2db/Db/SnapshotDb.cs +++ b/src/Storage/Vertex.Storage.Linq2db/Db/SnapshotDb.cs @@ -9,7 +9,7 @@ public class SnapshotDb : DataConnection public SnapshotDb(string name) : base(name) { - this.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => + LinqToDB.Mapping.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => { entityDescriptor.TableName = entityDescriptor.TableName.ToLower(); foreach (var entityDescriptorColumn in entityDescriptor.Columns) @@ -21,4 +21,4 @@ public SnapshotDb(string name) public ITable> Table() => this.GetTable>(); } -} +} \ No newline at end of file diff --git a/src/Storage/Vertex.Storage.Linq2db/Db/SubSnapshotDb.cs b/src/Storage/Vertex.Storage.Linq2db/Db/SubSnapshotDb.cs index e4bbd6f..fb03c99 100644 --- a/src/Storage/Vertex.Storage.Linq2db/Db/SubSnapshotDb.cs +++ b/src/Storage/Vertex.Storage.Linq2db/Db/SubSnapshotDb.cs @@ -9,7 +9,7 @@ public class SubSnapshotDb : DataConnection public SubSnapshotDb(string name) : base(name) { - this.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => + LinqToDB.Mapping.MappingSchema.EntityDescriptorCreatedCallback = (schema, entityDescriptor) => { entityDescriptor.TableName = entityDescriptor.TableName.ToLower(); foreach (var entityDescriptorColumn in entityDescriptor.Columns) diff --git a/src/Vertex.Protocol/EventConverter.cs.cs b/src/Vertex.Protocol/EventConverter.cs.cs index dbaf0e8..f23296c 100644 --- a/src/Vertex.Protocol/EventConverter.cs.cs +++ b/src/Vertex.Protocol/EventConverter.cs.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Text; using Vertex.Utils; diff --git a/src/Vertex.Runtime/Serialization/EventTypeContainer.cs b/src/Vertex.Runtime/Serialization/EventTypeContainer.cs index 8ca64cf..30da300 100644 --- a/src/Vertex.Runtime/Serialization/EventTypeContainer.cs +++ b/src/Vertex.Runtime/Serialization/EventTypeContainer.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Concurrent; using System.Linq; using Microsoft.Extensions.Logging; diff --git a/version.json b/version.json index 7c1cd8b..bdf9c6f 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "8.2", + "version": "8.2.0", "publicReleaseRefSpec": [ "^refs/heads/main$", "^refs/tags/v\\d+\\.\\d+\\.\\d+" From 78f8d623eb8356d5a67f874a16e518abce015e22 Mon Sep 17 00:00:00 2001 From: feijie Date: Mon, 28 Oct 2024 10:01:06 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=F0=9F=90=9B=20=E4=BF=AE=E5=A4=8D(=E4=BE=9D?= =?UTF-8?q?=E8=B5=96):=20=E6=9B=B4=E6=96=B0=20linq2db=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E8=87=B3=205.4.1=20=E4=BB=A5=E8=A7=A3=E5=86=B3=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E6=80=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Packages.props b/Packages.props index c61a939..5f96034 100644 --- a/Packages.props +++ b/Packages.props @@ -32,7 +32,7 @@ - +