追記:このエントリーが当ブログで一番アクセスが多いです。DataSetはまだかなり使われてるんですね。。。
追記終わり。
感動したんでポストしときます。
Entity Frameworkが登場したり、Silverlightじゃサポートされなかったりと、昨今はめっきり印象が薄いDataSetやDataTableですが、.NET Framework 1.1/2.0 アプリだとバリバリ使われまくってると思います。そんなアプリを.NET 3.5 に移行後、「よーしLinqつかっちゃうぞ!」と思って、いざDataTable.Rows. まで打ってインテリセンスを表示させてみると、いつもの拡張メソッドが出てきません。このガッカリ感はハンパない。DataRowCollectionはIEnumerable
とガッカリしていたのが半年ほど前でそのまま放置してたんですけど、最近見つけたのが上記ツイートにある話です。DataTable.AsEnumerable()なるメソッドで、Linqが使えるようになります。
var items = dt.AsEnumerable() .Where(x => x["col1"].ToString() == "1") .Select(x => x["col1"].ToString());
型付DataSetもこのとおり。
var TypedItems = TypedDt.AsEnumerable()
.Where(x => x.EmployeeID == 123)
.Select(x => x.Country);
参考:【LINQ to DataSet】http://msdn.microsoft.com/ja-jp/library/bb386977.aspx
このまま今の会社にいていいのか?と一度でも思ったら読む 転職の思考法
- 作者:北野 唯我
- 発売日: 2018/06/21
- メディア: 単行本(ソフトカバー)