Overview
普通旧 CLR 对象或普通旧类对象 (POCO) 是简单的类对象,它们不会从任何特定于框架的基类或接口继承功能。 如果您的应用程序使用 POCO,则可以使用 C# 分析器将其预览为 JSON 对象。
要学习;了解有关 POCO 的更多信息,请参阅 维基百科上的 POCO 页面 和 .NET/ C#驾驶员文档中的“使用 POCO”页面。
以 JSON 格式预览
以下代码示例显示了 POCO 类定义及其相应的 JSON 转换的示例。 通过预览 JSON 格式的 POCO,您可以看到 BSON 序列化属性(例如 、 BsonId
和BsonElement
)在序列化期间如何更改生成的 BSON 的形状。
class Order { [ ] public int OrderNumber { get; set; } [ ] public int CustomerId { get; set; } public string Date { get; set; } [ ] public string Email { get; set; } }
{ "_id": 6783456, "customer_id": 678234, "Date": "06/03/2023" }
提示
样本数据
C# 分析器包含某些常见属性名称的预定义样本值。 如果在 POCO 中使用这些属性名称,分析器将使用 JSON 输出中的样本值。 对于任何没有预定义样本值的属性名称,分析器会使用与该属性的数据类型匹配的随机值。
有关示例值的属性名称列表,请参阅MongoDB C# Analyzer Github存储库中的JSON示例值文件。
在 Visual Studio 中预览 POCO
要在 Visual Studio 中预览 POCO,请执行以下操作:
C# Analyzer按照 安装 指南的说明安装 C# 分析器。MongoDBC# Analyzer
定义一个 POCO 类。
将游标移到类定义的第一个单词下方的 ...省略号注释上,以显示包含 JSON 转换的信息消息。
单击以下相应标签页可查看显示或不显示信息消息的 POCO 类定义:
不支持的 POCO
如果 POCO 序列化设置配置不正确, C#分析器会输出 MAPOCO2001
警告。
以下代码段包含一个 POCO,它在具有 bool
数据类型的属性上使用 [BsonTimeSpanOptions]
属性:
public class NotSupportedPoco { [ ] public bool InStock { get; set; } }
以下屏幕截图显示了带注释的代码以及将鼠标悬停在注释上时显示的警告:
