「VB6+ADO」のプロジェクトがあります。
Vistaではうまく表示できない部分があると報告がありました。
「Windows 7」でうまくいけばそれでもいいのですが、どちらにしても書き換えの時期がきたようです。
悪いことに(?)このプロジェクトはAccessを使っています。
このプロジェクトは「Access+.NET」ではどのようになるか検討を始めました。
まず、VBのアップグレードウィザードを使ってみましたが、エラーがいっぱい出てきて、それをを修正していくのが大変そうなので早々にこのウィザードを使うのを断念しました。
ところで私は「LINQ」を気に入っています。
なぜ「LINQ」がいいのかまだ十分分かっていませんが、理由は多分データのセットに対してSQLが使えることだと思います。
例えばList(Of T)に対して従来の技術のみである種の演算をしようとするとそれなりの工夫が必要です。
「ソート」やある条件のデータの合計を計算する等それなりのコードが必要です。
ところがこれらは「Linq」のSQL構文を使えば簡単に処理できます。
さて、「Linq to Entity」は「Access」をサポートしません。
将来の不安もあるのですが、「Linq to Dataset」を検討しています。
私は、「ADO.NET」は使ってきたのですが、数年前に発表された「TableAdapter」は将来性を見てからにしようと考え、使わないできました。
「データソース」作成ウィザードをつかうと、簡単にデータソース(データセット?)を作ることができますし、ここでつかわれている技術は(多分)「TableAdapter」だと思います。
ウィザードで生成された「TableAdapter」を使ってデータソース(データセット?)にDBデータを読み込みますが、このデータはLinq構文を使ってクラスのリスト-List(Of T)-に変換でき(そもそも読み込まれたデータはクラスの集合かもしれません)、したがってこのListに対してSQL演算が可能です。
まだ、十分の調査ではありませんが、「多分使える」、「なかなかいい」という印象を持っています。