gpt4 book ai didi

c# BsonSerializer : deserialization through backing fields 收藏

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:44 24 4
gpt4 key购买 nike

我开始使用官方 C# 驱动程序处理 MongoDB。问题是我找不到让 bsonseriazer 使用字段(而不是属性)来设置反序列化数据并同时能够使用 LINQ Api 的方法。

映射我的类时,我使用 BsonClassMap.FieldMap()。但这不允许使用 LINQ,因为公共(public)属性仍未映射。BsonSerializer 中有没有一种方法可以基于属性进行映射,但同时指定这些应该直接通过其支持字段进行设置?

我想使用字段进行反序列化的原因是省略可能在 setter 中检查的自定义验证规则。

最佳答案

  1. 我认为即使数据来自您自己的数据库,您也应该保留这些验证规则。它更简洁、更不容易出错并且更安全。

  2. 您可以创建自己的 BsonSerializer(或扩展现有的),以您想要的方式运行。我已经做了几个,而且非常简单。

  3. 在从 MongoDB 驱动程序获取项目并放弃设置验证规则。

我没有看到另一种将映射“拆分”到属性(对于 Linq)和数据成员(对于序列化)的方法,我推荐第一个选项。

关于c# BsonSerializer : deserialization through backing fields 收藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20277395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com