2012-01-17 1 views
0

SQL Server 2008で実行するためにC#でカスタムCLR集計を作成しています。SqlUserDefinedAggregateインスタンスの状態のほとんどを辞書に入れたいので、組み込みシリアル化を使用できません。SQL Server CLR集計:辞書をシリアル化しますか?

Read()Write()の方法でUserDefinedシリアル化を使用するにはどうすればよいですか?

答えて

0

BinaryReaderBinaryWriterの種類のキーと値を使用して、各ディクショナリをkey0、value0 ... keyN-1、valueN-1 orderのBinaryWriterに書き出します。このシーケンスの先頭に、DictionaryのCountを付けます。シーケンスの後に、辞書の終わりを確認する定数を書きます。個人的には0xDEADBEEFが好きです。

逆シリアル化を行うには、n回実行するループを初期化します(nはストリームの最初の整数)。キー/値のペアを読み込むときに辞書に追加します。最後に、あなたの定数をチェックしてください。

関連する問題