none
DataTableを自作のモデルクラスに変換したい RRS feed

  • 質問

  • お世話になります。

    言語:VB.NET,.Net Framework3.5環境で開発を行っております。

    DataTable型の値を自作モデルクラス型に変換したいのですが、

    何か良い手段はありませんでしょうか?

    そもそも最初から自作モデルに値を格納しろという話なのですが、

    共通処理で値を取ってきており、今回特殊な動きを実装しようとしているためこのような状態になっております。

    ご教示お願いします。

    2018年3月2日 2:35

回答

  • 自作モデルクラスは飯野さんしかわかりませんので、基本的には飯野さんがコーディングするしかないと思います。
    私も同じようなことをしていますが、T4を使って、DataTableと自作モデルクラスの相互変換のコードを自動生成しています。
    nullの時に0などに変換するか、ReadOnlyの列の扱いはどうするかなど細かいところの変換も出てきますので、この辺りも含め、自作モデルクラス、およびDataTableとの相互変換ロジック、データベースへの読み書き等のコードをT4で一気に生成しています。

    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    • 回答としてマーク 飯野 2018年3月6日 6:10
    2018年3月2日 4:32
    モデレータ

すべての返信

  • こんにちは。

    AutoMapperを使えばいけそうな感じですが、AutoMapperが.NET3.5をサポートしているかちょっとわかりませんでした。

    AutoMapper With DataTables
    https://www.geekytidbits.com/automapper-with-datatables/

    2018年3月2日 4:18
  • 自作モデルクラスは飯野さんしかわかりませんので、基本的には飯野さんがコーディングするしかないと思います。
    私も同じようなことをしていますが、T4を使って、DataTableと自作モデルクラスの相互変換のコードを自動生成しています。
    nullの時に0などに変換するか、ReadOnlyの列の扱いはどうするかなど細かいところの変換も出てきますので、この辺りも含め、自作モデルクラス、およびDataTableとの相互変換ロジック、データベースへの読み書き等のコードをT4で一気に生成しています。

    ★良い回答には質問者は回答済みマークを、閲覧者は投票を!

    • 回答としてマーク 飯野 2018年3月6日 6:10
    2018年3月2日 4:32
    モデレータ
  • Takashi Shinohara様

    ご回答ありがとうございます。

    確かにサポートが不安ですね…

    動作を確認して、希望処理が実現できそうなら使ってみたいと思います。

    今後ともよろしくお願いします。

    2018年3月2日 5:25
  • trapemiya様

    ご回答ありがとうございます。

    テンプレート作るしかないんですかね…

    使う場面が少ないので変換できるといいと思い、質問しましたが、

    面倒くさがらず作成をしてみたいと思います。

    今後ともよろしくお願いします。

    2018年3月2日 5:28