オブジェクトをDBへシリアライズ/デシリアライズする


データベースはあると便利なんですが、扱うのがとても面倒くさい。というわけで簡単に扱えるシリアライズクラスを作ってみた。

データベースの種類はほとんど選びません。SQLiteのみ動作確認済み
タイプについてはString/Int32/Float/Double/DateTimeのみ対応。拡張で使えるように…というのは配慮してないです。
こちらのクラスと組み合わせて使っています。ちょこっと改造すれば使わなくても実現できるかも

ソースコード

長くなるので記事には載せていません。ダウンロードの方からどうぞ

サンプルソース

クラスを用意する

まずはシリアライズするためのベースとなるクラスを作成します。
DBSerialize.DBSerializeクラスを、ジェネリック型に自クラスを指定して実装します。そうすることでシリアライズに必要なメソッドが自動的に追加されます。

DataMemberAttributeを指定したメンバーのみシリアライズの対象になります。また、PrimaryKeyやAutoincrement等の指定もできます。
私の方では確認してないですがDefaultの設定も可能、ただし属性で指定した値はエスケープされないので注意してください。

シリアライズする

Buildメソッドでテーブルの作成、Sabeメソッドで追加します。PrimaryKeyに指定された値が同じ行が既に追加する場合は書き換えます。
もし、PrimaryKeyの内容に関係なく追加したい場合はAddメソッドの方を使用してください。

ダウンロード

DB Serialize

.NETオブジェクトをデータベースにシリアライズするライブラリ

個人利用はご自由にどうぞ
商用利用はコンタクトフォームへお問い合わせください


追記

専用の公開ページを用意しました。
https://yryr.me/works/library/db-serializer

引き続きの更新はこちらのタグで行っています。
Tag: DB Serializer

Uncategorized

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">