Update mongodb json

This commit is contained in:
sunkaixuan
2025-10-20 18:51:19 +08:00
parent 33f81f4b14
commit ece25ef4ab
2 changed files with 21 additions and 0 deletions

View File

@@ -139,6 +139,7 @@ namespace SqlSugar.MongoDb
{
var doc = item.AsBsonDocument;
var obj = BsonSerializer.Deserialize(doc, elementType);
UtilMethods.ConvertDateTimeToUnspecified(obj);
resultList.Add(obj);
}
else

View File

@@ -21,6 +21,26 @@ namespace SqlSugar.MongoDb
{
public class UtilMethods
{
public static void ConvertDateTimeToUnspecified(object o)
{
if (o == null) return;
var type = o.GetType();
foreach (var prop in type.GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
if (!prop.CanRead || !prop.CanWrite) continue;
var value = prop.GetValue(o);
if (value is DateTime dt)
{
prop.SetValue(o, DateTime.SpecifyKind(dt, DateTimeKind.Unspecified));
}
else if (value != null && !prop.PropertyType.IsPrimitive && !prop.PropertyType.IsEnum && prop.PropertyType != typeof(string))
{
ConvertDateTimeToUnspecified(value); // Recursive for nested objects
}
}
}
internal static bool IsJsonMember(Expression expression, SqlSugarProvider context)
{
var member = expression as MemberExpression;