Docs Menu
Docs Home
/ /

POCO の分析

Plain old CLR オブジェクト、または Plain old クラス オブジェクト(POCO)は、フレームワーク固有の基本クラスやインターフェースから機能を継承しない単純なクラス オブジェクトです。 アプリケーションで POCO が使用される場合は、C# Analyzer を使用してそれらを JSON オブジェクトとしてプレビューできます。

POCO について詳しくは、Wikipedia の POCO ページ と、.NET/C#ドライバーのドキュメントの「POCO で操作」のページを参照してください。

次のコード サンプルは、POCO クラスの定義とそれに対応する JSON の変換の例を示しています。 POCO を JSON でプレビューすると、 BsonIdBsonElementなどの BSON 直列化属性が直列化中に結果となる 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"
}

Tip

サンプル データ

C# Analyzer には、特定の一般的なプロパティ名に対する事前定義されたサンプル値が含まれています。 POCO でこれらのプロパティ名を使用すると、アナライザは JSON 出力のサンプル値を使用します。 事前にサンプル値が定義されていないプロパティ名に対して、アナライザはプロパティのデータ型に一致するランダム値を使用します。

サンプル値を持つプロパティ名のリストについては、 MongoDB C# Analyzer Githubリポジトリ のJSONサンプル値ファイル を参照してください。

Visual Studio で POCO をプレビューするには、次のアクションを実行します。

  1. MongoDB C# Analyzer のインストール」ガイドに記載されているように C# Analyzer をインストールします。

  2. POCO クラスを定義します。

  3. カーソルをクラス定義の最初の単語の下の ...省略記号注釈に移動すると、JSON の翻訳を含む情報メッセージが表示されます。

次の対応するタブをクリックすると、情報メッセージが表示されるかどうかにかかわらず、POCO クラスの定義が表示されます。

Visual Studio での省略記号注釈付きの POCO 定義のスクリーンショット
Visual Studio に表示される情報メッセージを含む POCO 定義のスクリーンショット

Tip

ruleId

情報メッセージは、ポップアップを生成した C# Analyzer ルール ID で始まります。 前の例では、ルール ID はMAPoco1001であり、POCO が有効であることを示しています。 このルールの詳細については、「ルールとメッセージ コンテンツ 」のガイドを参照してください。

POCO直列化設定が正しく構成されていない場合、 C# Analyzer は MAPOCO2001 警告を出力します。

次のコード スニペットには、boolデータ型 のプロパティで [BsonTimeSpanOptions] 属性を使用する POCO が含まれています。

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

次のスクリーンショットは、注釈付きのコードと、注釈にカーソルを合わせると表示される警告を示しています。

サポートされていない POCO から Visual Studio に表示される警告のスクリーンショット。

Tip

エラー リスト パネル

Visual Studio for Windowsを使用している場合は、 エラー リストウィンドウでC# Analyzer からの出力を表示できます。

詳細については、 Microsoftのエラー リスト ウィンドウを参照してください。

戻る

LINQ 式

項目一覧