diff --git a/src/MaksIT.MongoDB.Linq.Tests/MaksIT.MongoDB.Linq.Tests.csproj b/src/MaksIT.MongoDB.Linq.Tests/MaksIT.MongoDB.Linq.Tests.csproj
index 7d9a536..a6fcbc2 100644
--- a/src/MaksIT.MongoDB.Linq.Tests/MaksIT.MongoDB.Linq.Tests.csproj
+++ b/src/MaksIT.MongoDB.Linq.Tests/MaksIT.MongoDB.Linq.Tests.csproj
@@ -16,9 +16,9 @@
-
+
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/src/MaksIT.MongoDB.Linq/MaksIT.MongoDB.Linq.csproj b/src/MaksIT.MongoDB.Linq/MaksIT.MongoDB.Linq.csproj
index b019ef2..aed4c0b 100644
--- a/src/MaksIT.MongoDB.Linq/MaksIT.MongoDB.Linq.csproj
+++ b/src/MaksIT.MongoDB.Linq/MaksIT.MongoDB.Linq.csproj
@@ -8,7 +8,7 @@
MaksIT.MongoDB.Linq
- 1.1.0
+ 1.1.1
Maksym Sadovnychyy
MAKS-IT
MaksIT.MongoDB.Linq
diff --git a/src/MaksIT.MongoDB.Linq/Serializers/GuidKeyDictionarySerializer.cs b/src/MaksIT.MongoDB.Linq/Serializers/GuidKeyDictionarySerializer.cs
new file mode 100644
index 0000000..f446fdf
--- /dev/null
+++ b/src/MaksIT.MongoDB.Linq/Serializers/GuidKeyDictionarySerializer.cs
@@ -0,0 +1,30 @@
+using MongoDB.Bson;
+using MongoDB.Bson.IO;
+using MongoDB.Bson.Serialization;
+using MongoDB.Bson.Serialization.Serializers;
+
+
+namespace MaksIT.MaksIT.MongoDB.Linq.Serializers;
+
+public class GuidKeyDictionarySerializer : SerializerBase> {
+ public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, Dictionary value) {
+ context.Writer.WriteStartDocument();
+ foreach (var kvp in value) {
+ context.Writer.WriteName(kvp.Key.ToString()); // Convert Guid key to string
+ BsonSerializer.Serialize(context.Writer, kvp.Value);
+ }
+ context.Writer.WriteEndDocument();
+ }
+
+ public override Dictionary Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args) {
+ var dictionary = new Dictionary();
+ context.Reader.ReadStartDocument();
+ while (context.Reader.ReadBsonType() != BsonType.EndOfDocument) {
+ var key = Guid.Parse(context.Reader.ReadName());
+ var value = BsonSerializer.Deserialize(context.Reader);
+ dictionary.Add(key, value);
+ }
+ context.Reader.ReadEndDocument();
+ return dictionary;
+ }
+}