C# NewtonSoft.Json : 允许 MongoDB 驱动程序使用 ShouldSerialize 方法

C# NewtonSoft.Json : permit MongoDB driver to make use of ShouldSerialize method

最后一天我遇到了一个问题,我的 ASP.NET 后端正在向我想隐藏的客户端返回对象属性;换句话说:我想允许这些属性的序列化。但是我需要反序列化这些属性,因为客户端一次将它们发送到后端。这就是为什么我使用“ShouldSerialize”方法而不是属性 JsonIgnore。 但是现在我注意到这些属性也没有序列化到 MongoDB 我存储我的对象包括那些属性的地方。

如何允许 MongoDB 使用“ShouldSerialize”方法? 是否有任何其他解决方案强制 NewtonSoft.Json 反序列化但不序列化特定属性?

我最终使用 ViewModels 与客户进行通信。 与相应的模型相比,ViewModels 具有更少的属性。 因此,数据注释和其他属性可以在 ViewModel 中使用,并且可以在底层模型中省略。 尽管此架构需要将 Models 转换为 ViewModels,反之亦然,但这似乎是常见的过程。