【问题标题】:C# NewtonSoft.Json : permit MongoDB driver to make use of ShouldSerialize methodC# NewtonSoft.Json : 允许 MongoDB 驱动程序使用 ShouldSerialize 方法
【发布时间】:2018-09-17 00:16:38
【问题描述】:

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

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

【问题讨论】:

  • 理想的情况是准备好简单的 POCO 对象存储在 MongoDB 上,甚至不需要使用 ShouldSerialize。
  • 你说得对!但是由于我需要告诉 Json 序列化程序不要序列化传出 Web api 响应的特定属性,所以我必须声明类似 ShouldSerialize 方法返回“false”。
  • 有人对此有解决方案吗?

标签: c# mongodb json.net bson


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 2023-03-02
    • 2016-03-13
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多