拝啓、サカモトと申します。

Another Gahaku.Text Powered Blog

目次

ニュース

元○○

記事カテゴリ

書庫

Blog 利用状況

絵画はこっち。

LINQ to XSD

http://www.codeguru.com/csharp/csharp/cs_linq/article.php/c15315/

 

LINQ to DatasetってLINQ to Objectsに内包されるものみたいなことを本で読みました。

LINQ to XXXって、サードパーティ製のものなど今後を考えるとびちびち増えていくんだろうなーと。

いまいちまだ全体像がつかめていないので困るです。

投稿日時 : 2008年7月28日 7:54

Feedback

# re: LINQ to XSD 2008/07/28 9:58 かるあ

LINQ to Datasets はまぁ LINQ to Objects みたいなものだけれど、LINQ to ADO.NET の仲間かな。

こんなのあるよ
http://linq.to/

# re: LINQ to XSD 2008/07/28 9:58 シャノン

リンク先は読んでないけど、Linq to XSD って名前が悪いんじゃないかなぁと思う。
XSD って、VisualStudio では DataSet の拡張子として使われているけど、本来は XML Schema のファイルです。
そんなわけで、Linq to XSD と Linq to DataSet は別物だと思いますです。

例えば、ある XML 中に
<foo value="10"/>
って書いてあった場合、この XML ファイルだけでは、value は数値型か文字列型かわかりません。
そこで、対になる XML Schema に
<xsd:element name="foo">
 <xsd:attribute name="value" type="xsd:int"/>
</xsd:element>
って書いてあれば、これは数値型なんだとわかるわけです(必要な記述を一部省略しました)。

で、XML Schema と XML 文書は1:多の関係にあり、XML 文書をインスタンスとするならば XML Schema はクラスとも言えるようなものです。

そんなわけで、クラスの配列なんてものはありませんから、Linq to Objects はあっても Linq to Classes が無いように、Linq to XSD ってのはどうかと思うわけです。
しかし Linq to XML は既に使われていますから、強いて言えば Linq to Typed XML とか。

# re: LINQ to XSD 2008/07/28 11:41 さかもと画伯

>かるあさん

ほほー。
そのURLがなぜか社内で遮断されるので自宅で読むです♪

>しゃーーーーーーーーーのっち。

なるほどー。
確かにそう言われればそうかも・・・。
XML周りのお話は難しくてよくわかんないけどw、まだ産声あげたばかりの技術だからこれからそのあたりも統一されていけばいいなーと。

ということで、このあたりをエントリ上げてください。

# re: LINQ to XSD 2008/07/28 14:11 シャノン

そうそう、Linqと言えば、「従来は文字列であった SQL をコードにすることで、コンパイルエラーをチェックできるようになった」のが大きなメリットとして語られるじゃないですか。

でも、Linq to XML は、要素名なんかは文字列です。
例:
http://www.atmarkit.co.jp/fdotnet/joyofprogram/20080418linqtoxml01/linqtoxml01_03.html

例えば、Elements("Restaurant") って書くべきところを Elements("Restourant"); って書いちゃっても、コンパイルエラーにならないわけですよ。

で、.NET Framework には、 XML Schema からクラスを生成する機能があるので、それを使うと、
restaurants.Where(restaurant => (int)restaurant.Element("Point") >= 80);
の代わりに
restaurants.Where(restaurant => restaurant.Point >= 80);
って書けるんじゃねぇかなと。というか、書けて当然だよね、と。

# re: LINQ to XSD 2008/07/28 19:05 さかもと画伯

>し~~~~~~~~~~~~ゃのんっち

>>でも、Linq to XML は、要素名なんかは文字列です。

あっ、確かに・・・。


そのあたりの矛盾点をMな人(マゾな人)代表で突っ込み希望ですw

タイトル  
名前  
Url
コメント