Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/
C# Analyzer
/

Analisar POCOs

Objetos CLR antigos simples, ou objetos de classe antiga simples (POCOs), são objetos de classe simples que não herdam recursos de nenhuma classe de base ou interface específica da framework. Se o seu aplicativo usa POCOs, você pode usar o C# Analyzer para visualizá-los como objetos JSON.

Para saber mais sobre POCOs, consulte a página POCOs na Wikipedia e a página Trabalhar com POCOs na documentação do driver .NET/C#.

A seguinte amostra de código mostra um exemplo de uma definição de classe POCO e sua tradução JSON correspondente. Ao visualizar seus POCOs no JSON, você pode ver como os atributos de serialização BSON, como BsonId e BsonElement, alteram a forma do BSON resultante durante a serialização.

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"
}

Dica

Dados de amostra

O C# Analyzer inclui valores de amostra predefinidos para determinados nomes de propriedades comuns. Se você usar esses nomes de propriedade em seu POCO, o analisador usará os valores de amostra na saída JSON. Para quaisquer nomes de propriedade sem valores de amostra predefinidos, o Analisador utiliza um valor aleatório que corresponda ao tipo de dados da propriedade.

Para obter uma lista de nomes de propriedade com valores de amostra, consulte o arquivo de valor de amostra do JSON no repositório do GitHub do MongoDB MongoDB Analyzer .

Para visualizar seus POCOs no Visual Studio, execute as seguintes ações:

  1. Instale o C# Analyzer conforme descrito no guia Instale o MongoDB C# Analyzer .

  2. Defina uma classe POCO.

  3. Passe o cursor sobre a anotação de reticências ... abaixo da primeira palavra da definição de classe para exibir uma mensagem informativa que contém a tradução JSON.

Clique na aba correspondente a seguir para ver uma definição de classe POCO com ou sem uma mensagem informativa exibida:

Captura de tela da definição POCO com uma anotação de reticências no Visual Studio
Captura de tela da definição POCO com uma mensagem informativa exibida no Visual Studio

Dica

ruleId

A mensagem informativa começa com a da C# Analyzer regra do ID que gerou o pop-up. No exemplo anterior , a ID da regra é MAPoco1001, indicando que o POCO é válido. Para saber mais sobre essa regra, consulte o guia Regras e conteúdo de mensagens .

Se as configurações de serialização do POCO não estiverem configuradas corretamente, o MongoDB Analyzer emitirá um aviso MAPOCO2001.

O seguinte trecho de código contém um POCO que usa o atributo [BsonTimeSpanOptions] em uma propriedade com o tipo de dados bool:

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

A seguinte captura de tela mostra o código anotado e o aviso exibido quando você passa o mouse sobre a anotação:

Captura de tela do aviso exibido no Visual Studio a partir de um POCO não suportado.

Dica

Painel de lista de erros

Se você estiver usando o Visual Studio para Windows, poderá exibir a saída do MongoDB Analyzer na janela Lista de erros.

Para saber mais, consulte a Janela de lista de erros da Microsoft.

Voltar

Expressões LINQ

Nesta página