Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs 菜单
Docs 主页
/
C# Analyzer
/

分析 POCO

普通旧 CLR 对象或普通旧类对象 (POCO) 是简单的类对象,它们不会从任何特定于框架的基类或接口继承功能。 如果您的应用程序使用 POCO,则可以使用 C# 分析器将其预览为 JSON 对象。

要学习;了解有关 POCO 的更多信息,请参阅 维基百科上的 POCO 页面 和 .NET/ C#驾驶员文档中的“使用 POCO”页面

以下代码示例显示了 POCO 类定义及其相应的 JSON 转换的示例。 通过预览 JSON 格式的 POCO,您可以看到 BSON 序列化属性(例如BsonIdBsonElement )在序列化期间如何更改生成的 BSON 的形状。

class Order
{
[BsonId]
public int OrderNumber { get; set; }
[BsonElement("customer_id")]
public int CustomerId { get; set; }
public string Date { get; set; }
[BsonIgnore]
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,请执行以下操作:

  1. C# Analyzer按照 安装 指南的说明安装 C# 分析器。MongoDBC# Analyzer

  2. 定义一个 POCO 类。

  3. 将游标移到类定义的第一个单词下方的 ...省略号注释上,以显示包含 JSON 转换的信息消息。

单击以下相应标签页可查看显示或不显示信息消息的 POCO 类定义:

Visual Studio 中带有省略号注释的 POCO 定义的屏幕截图
POCO 定义的屏幕截图,其中包含 Visual Studio 中显示的信息消息

提示

ruleId

该信息消息以生成弹出窗口的C# Analyzer规则ID开头。 在上一示例中,规则ID为MAPoco1001 ,表示 POCO 有效。 要学习;了解有关此规则的更多信息,请参阅规则和消息内容指南。

如果 POCO 序列化设置配置不正确, C#分析器会输出 MAPOCO2001 警告。

以下代码段包含一个 POCO,它在具有 bool数据类型的属性上使用 [BsonTimeSpanOptions] 属性:

public class NotSupportedPoco
{
[BsonTimeSpanOptions(representation: BsonType.Array, Units = MongoDB.Bson.Serialization.Options.TimeSpanUnits.Hours)]
public bool InStock { get; set; }
}

以下屏幕截图显示了带注释的代码以及将鼠标悬停在注释上时显示的警告:

Visual Studio 中显示的有关不受支持的 POCO 的警告屏幕截图。

提示

错误列表面板

如果使用的是 Visual Studio for Windows ,则可以在“错误列表”窗口中查看C#分析器的输出。

要了解详情,请参阅来自 Microsoft 的错误列表窗口

后退

LINQ 表达式

在此页面上