如何防止 space 在更新精简版数据库记录时从字段中删除
How to prevent space being removed from the field while updating the lite DB record
我正在为我的 WPF 应用程序使用精简版数据库。我正在使用以下函数更新精简版数据库中的记录。
public void Update(T data)
{
(DBInstance as LiteDBInstance).LiteDatabase.GetCollection<T>(TableName).Update(data);
}
以下是我尝试更新的数据
{
"_id": "5005e877-25fc-483d-a652-f9b223a65add",
"ProjectID": "3d11b869-1c9e-486b-9451-825e03461b2c",
"Result": "PASS",
"Errors": [
],
"HostLogCount": 0,
"CardLogCount": 0,
"TrxLogs": [
{
"Result": "PASS",
"HostLogs": [
{
"_id": null,
"Transactions": [
{
"MTI": "0100",
"UniqueNumber": "0710114729010019",
"Elements": [
{
"_id": "000",
"Value": "0100",
},
{
"_id": "002",
"Value": "4176662220010018 ",
},
{
"_id": "003",
"Value": " ",
}
]
}
]
}
]
}
]
}
我遇到的问题是,更新操作后,数据库中的记录看起来像
{
"_id": "002",
"Value": "4176662220010018",
},
{
"_id": "003",
"Value": "",
}
不同之处在于 space 中的 ID Value 被删除了。如何预防?
根据@Roar S 的评论修改后效果很好
但是,我在这里重新发布相同的内容
对该主题的快速搜索显示这是默认行为,因此您必须按照此处所述修改您的配置:
Now BsonMapper has a global instance that can be changed before using LiteDatabase.
BsonMapper.Global.TrimWhitespace = false;
我正在为我的 WPF 应用程序使用精简版数据库。我正在使用以下函数更新精简版数据库中的记录。
public void Update(T data)
{
(DBInstance as LiteDBInstance).LiteDatabase.GetCollection<T>(TableName).Update(data);
}
以下是我尝试更新的数据
{
"_id": "5005e877-25fc-483d-a652-f9b223a65add",
"ProjectID": "3d11b869-1c9e-486b-9451-825e03461b2c",
"Result": "PASS",
"Errors": [
],
"HostLogCount": 0,
"CardLogCount": 0,
"TrxLogs": [
{
"Result": "PASS",
"HostLogs": [
{
"_id": null,
"Transactions": [
{
"MTI": "0100",
"UniqueNumber": "0710114729010019",
"Elements": [
{
"_id": "000",
"Value": "0100",
},
{
"_id": "002",
"Value": "4176662220010018 ",
},
{
"_id": "003",
"Value": " ",
}
]
}
]
}
]
}
]
}
我遇到的问题是,更新操作后,数据库中的记录看起来像
{
"_id": "002",
"Value": "4176662220010018",
},
{
"_id": "003",
"Value": "",
}
不同之处在于 space 中的 ID Value 被删除了。如何预防?
根据@Roar S 的评论修改后效果很好
但是,我在这里重新发布相同的内容
对该主题的快速搜索显示这是默认行为,因此您必须按照此处所述修改您的配置:
Now BsonMapper has a global instance that can be changed before using LiteDatabase. BsonMapper.Global.TrimWhitespace = false;