トレーニング
モジュール
Azure Cosmos DB for NoSQL を使用してドキュメント間のトランザクション操作を実行する - Training
1 つの論理的な作業単位で複数の項目に対して操作を実行します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
SQLite では、1 つのコマンドで複数の SQL ステートメントをまとめて実行するバッチ処理はネイティブではサポートされていません。 しかし、ネットワークは関与していないので、いずれにしても実際にパフォーマンスが向上することはありません。 ただし、Microsoft.Data.Sqlite では、他の ADO.NET プロバイダーと同様に動作するよう、便宜的にステートメントのバッチ処理が実装されています。
DbCommand.ExecuteReader を呼び出すと、ステートメントは、結果を返す最初のステートメントまで実行されます。 DbDataReader.NextResult を呼び出すと、結果を返す次のステートメントまで、またはバッチの終わりに達するまで、ステートメントの実行が続けられます。 DbDataReader.Dispose または Close を呼び出すと、NextResult()
によって使用されていない残りのステートメントがすべて実行されます。 データ リーダーを破棄しない場合、ファイナライザーによって残りのステートメントの実行が試みられますが、エラーが発生しても無視されます。 このため、バッチを使用するときは DbDataReader
オブジェクトを破棄することが重要です。
// Batch two SELECT statements into a single command
var command = connection.CreateCommand();
command.CommandText =
@"
SELECT *
FROM blog;
SELECT *
FROM post;
";
using (var reader = command.ExecuteReader())
{
// Read the first result set
while (reader.Read())
{
Console.WriteLine($"Blog {reader["id"]}: {reader["name"]}");
}
// Read the second result set
reader.NextResult();
while (reader.Read())
{
Console.WriteLine($"Post {reader["id"]}: {reader["title"]}");
}
}
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。
トレーニング
モジュール
Azure Cosmos DB for NoSQL を使用してドキュメント間のトランザクション操作を実行する - Training
1 つの論理的な作業単位で複数の項目に対して操作を実行します。