ホームページ >バックエンド開発 >C++ >マルチマッピングで Dapper の `splitOn` パラメータを正しく使用する方法は?

マルチマッピングで Dapper の `splitOn` パラメータを正しく使用する方法は?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-02 22:35:39620ブラウズ

How to Correctly Use Dapper's `splitOn` Parameter in Multimapping?

Dapper でマルチマッピングを正しく利用する

Dapper のマルチマッピング機能は、SQL クエリから複雑なデータ構造をマッピングするための強力なツールです。ただし、問題を回避するには、この機能を適切に使用することが重要です。

提供されたコードでは、splitOn パラメーターは、マップされたオブジェクトが分割される列のみを指定する必要があります。デフォルトでは、Dapper は分割ポイントとして「Id」を想定します。さまざまなオブジェクトに複数の分割ポイントを指定するには、それらをカンマ区切りのリストとして指定する必要があります。

たとえば、指定されたシナリオでは:

var data = con.Query<ProductItem, Customer, ProductItem>(
    sql,
    (productItem, customer) => {
        productItem.Customer = customer;
        return productItem;
    },
    splitOn: "CustomerId"
);

splitOn パラメーターは正しく「CustomerId」を指定します。 " を ProductItem オブジェクトと Customer オブジェクトの間の分割点として使用します。したがって、回答で提供されているコードが示すように、splitOn リストから "CustomerName" を省略しても、顧客名が null になることはありません。

SQL 結果セット内の列の順序が一致する必要があることに注意することが重要です。正しいマッピングを保証するために、splitOn パラメータで指定された順序。列の順序が変更された場合は、それに応じて SplitOn パラメータを調整する必要があります。

以上がマルチマッピングで Dapper の `splitOn` パラメータを正しく使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。