VisualStudio2008より追加された便利で強力な機能
統合言語クエリ (LINQ : Language Integrated Query)
ちょっと使ってみると、意外と難しいし、テクニック的にも奥が深いものです。
関数型言語にしかないような機能ラムダ式(Lambda式)などはオブジェクト指向とは一味違う機能です。
DataBaseの操作にも、Xmlの操作にも、さらにもっと単純な配列なコンテナにさえ機能する
言語共通・高汎用な統合言語クエリを皆で一緒にマターリ勉強しましょう。
質問、便利なマイテクニックの発表、いろいろやっちゃってください。
探検
【VB.NET】LINQ友の会【C#, C♯, C#】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2008/02/09(土) 23:51:34143デフォルトの名無しさん
2008/03/13(木) 15:06:20144デフォルトの名無しさん
2008/03/13(木) 15:07:51 宣言時の型推論,ラムダ式とか?
145デフォルトの名無しさん
2008/03/13(木) 15:16:04 Xmlリテラルとか。
146デフォルトの名無しさん
2008/03/13(木) 15:18:19 C#2.0+C#3.0+αだな
147デフォルトの名無しさん
2008/03/13(木) 16:24:25 ぶっちゃけXML生書き出来るようになったからって・・・
使う奴っている?
今一歩使い道が見つからん・・・
使う奴っている?
今一歩使い道が見つからん・・・
148デフォルトの名無しさん
2008/03/13(木) 21:19:44 >Xmlリテラル
タイミング良くっつーかこんな記事がでてるね。
.NETプログラマーにとって、XSLTは終焉なのか?
ttp://www.infoq.com/jp/news/2008/03/XML-Literals
>XML Literalsは最初Haskell向けに開拓され、
>のちにMicrosoftにおいてC#で使用するために開発された。
>どちらの言語においてもうまく いかないことが判明したので、
>Visual Basicチームが飛び付いて、VB 9の礎石にした。
>これはそれほどまでに驚くことではない。
>というのもHaskell構文がVBScriptのインラインHTML表記の影響を
>もろに受けて いたからである。
まあヘジたんなら拒否るだろし、事実拒否ったんだろうなぁ。
タイミング良くっつーかこんな記事がでてるね。
.NETプログラマーにとって、XSLTは終焉なのか?
ttp://www.infoq.com/jp/news/2008/03/XML-Literals
>XML Literalsは最初Haskell向けに開拓され、
>のちにMicrosoftにおいてC#で使用するために開発された。
>どちらの言語においてもうまく いかないことが判明したので、
>Visual Basicチームが飛び付いて、VB 9の礎石にした。
>これはそれほどまでに驚くことではない。
>というのもHaskell構文がVBScriptのインラインHTML表記の影響を
>もろに受けて いたからである。
まあヘジたんなら拒否るだろし、事実拒否ったんだろうなぁ。
149デフォルトの名無しさん
2008/03/14(金) 22:40:14 テーブル値関数をLinq to SQLで利用しようとしてるんだけど、
実行したら、
ストアド プロシージャはクエリ内では使用できない。ってエラーになるんだよ。
これバグじゃないかな。
実行したら、
ストアド プロシージャはクエリ内では使用できない。ってエラーになるんだよ。
これバグじゃないかな。
150デフォルトの名無しさん
2008/03/15(土) 00:46:01 自己解決しました。ノシ
IsComposable=true がなかったのが原因みたいです。
なんだかなあ。
IsComposable=true がなかったのが原因みたいです。
なんだかなあ。
151デフォルトの名無しさん
2008/04/06(日) 03:35:46 保守
152sage
2008/04/13(日) 01:33:35 LINQでのサブクエリの書き方が分からん。どう書くの?
SELECT
A.KEY1, A.COL1, B.COL2
FROM
(
(SELECT * FROM TBL1) A
INNER JOIN
(SELECT * FROM TBL1) B
ON B.KEY1 = A.KEY1
)
SELECT
A.KEY1, A.COL1, B.COL2
FROM
(
(SELECT * FROM TBL1) A
INNER JOIN
(SELECT * FROM TBL1) B
ON B.KEY1 = A.KEY1
)
153デフォルトの名無しさん
2008/04/13(日) 02:32:31 そのままlinqに置き換えれば
var r =
from i in
(from a in TBL1
from b in TBL2
where a.KEY1 == b.KEY2
select new { A = a , B = b })
select new { KEY1 = i.A.KEY1 , COL1 = i.A.COL1 , COL2 = i.B.COL2 };
こんな感じだけど、この例だとサブクエリ必要なくね?
var r =
from i in
(from a in TBL1
from b in TBL2
where a.KEY1 == b.KEY2
select new { A = a , B = b })
select new { KEY1 = i.A.KEY1 , COL1 = i.A.COL1 , COL2 = i.B.COL2 };
こんな感じだけど、この例だとサブクエリ必要なくね?
154デフォルトの名無しさん
2008/04/13(日) 02:36:53 >>152
それ、LINQ だとサブクエリ要らない。
var q =
from a in tbl1
join b in tbl2 on a.Key equals b.Key
select new { a.Key, a.Col1, b.Col2 };
サブクエリは普通に ↓ みたいに書ける。
from a in
from b in list
select b.SomeProperty
select a.SomeProperty
それ、LINQ だとサブクエリ要らない。
var q =
from a in tbl1
join b in tbl2 on a.Key equals b.Key
select new { a.Key, a.Col1, b.Col2 };
サブクエリは普通に ↓ みたいに書ける。
from a in
from b in list
select b.SomeProperty
select a.SomeProperty
155デフォルトの名無しさん
2008/04/13(日) 14:50:18 そんなことしなくても
保守が容易な綺麗なコードを書けるから
(゚听)イラネ
保守が容易な綺麗なコードを書けるから
(゚听)イラネ
156デフォルトの名無しさん
2008/04/13(日) 16:44:19 最近LINQ初めて>>22見たんだけど、
コードが見通しよく整理されていく中盤からの展開は見てて痛快だなぁ
コードが見通しよく整理されていく中盤からの展開は見てて痛快だなぁ
157デフォルトの名無しさん
2008/04/24(木) 21:22:23158デフォルトの名無しさん
2008/04/24(木) 21:41:48159デフォルトの名無しさん
2008/05/24(土) 20:45:08 Linqで書くと速くならないなら需要ないんじゃない
SQLでおなかいっぱいで
SQLでおなかいっぱいで
160デフォルトの名無しさん
2008/05/24(土) 21:01:08161デフォルトの名無しさん
2008/05/24(土) 23:11:23 パラ?
お母さんが子供に教えるように教えてください
お母さんが子供に教えるように教えてください
162デフォルトの名無しさん
2008/05/24(土) 23:23:16163デフォルトの名無しさん
2008/05/25(日) 00:22:26 最初は書き方に戸惑うが、だいたいの書き方がわかってくればインテリセンス使えるのがとても大きい
164デフォルトの名無しさん
2008/05/25(日) 04:39:07 コンパイラによる構文チェックが行われるというのも大きい。
条件次第で内容が大きく変わるようなクエリを構成するときに、文字列の連結を間違えて
バグを作り込んでしまうような、つまらないミスを防げる。
DataContextの定義にあわせて自動でCREATE DATABASEしてくれるとか、生産性の向上に
つながる要素がいろいろあるよ。
俺もほとんど把握してないけどさ。
条件次第で内容が大きく変わるようなクエリを構成するときに、文字列の連結を間違えて
バグを作り込んでしまうような、つまらないミスを防げる。
DataContextの定義にあわせて自動でCREATE DATABASEしてくれるとか、生産性の向上に
つながる要素がいろいろあるよ。
俺もほとんど把握してないけどさ。
165デフォルトの名無しさん
2008/05/25(日) 09:04:21 SQLって、汎用コレクションデータ処理エンジンだね。
C/C++やらで何らかのデータ処理を行う場合、その度毎にアルゴリズムを考え、設計し、
コードを作りこまなくちゃいけないけど。
RDBだと、ちょこっとSQLを定義するだけで実際の処理はRDBのエンジンがやってくれる。
例えるなら文字列の正規表現みたいな感じで。
それが言語組み込みの文法として、RDBだとDBサーバを立て、テーブルを作り、データをインポートして
からじゃないと使えないのが、RDBに限らずC#言語上の任意のコレクションデータで使えてしまう
ってのは便利。
C/C++やらで何らかのデータ処理を行う場合、その度毎にアルゴリズムを考え、設計し、
コードを作りこまなくちゃいけないけど。
RDBだと、ちょこっとSQLを定義するだけで実際の処理はRDBのエンジンがやってくれる。
例えるなら文字列の正規表現みたいな感じで。
それが言語組み込みの文法として、RDBだとDBサーバを立て、テーブルを作り、データをインポートして
からじゃないと使えないのが、RDBに限らずC#言語上の任意のコレクションデータで使えてしまう
ってのは便利。
166デフォルトの名無しさん
2008/05/25(日) 09:41:44 >>161
インピーダンスミスマッチでぐぐれ
インピーダンスミスマッチでぐぐれ
167デフォルトの名無しさん
2008/05/25(日) 11:12:57 SQLMetalってすでにあるテーブルのオブジェクト定義のXMLを生成するものだよね?
逆に今あるオブジェクトからテーブルとかを生成するツールってあったっけ?
逆に今あるオブジェクトからテーブルとかを生成するツールってあったっけ?
168デフォルトの名無しさん
2008/05/25(日) 14:02:32169デフォルトの名無しさん
2008/05/25(日) 14:39:10170デフォルトの名無しさん
2008/06/02(月) 22:49:47 Linq人気ないから救済でAgeてやる
感謝しろビル
感謝しろビル
171デフォルトの名無しさん
2008/06/04(水) 08:38:01 PL/SQLですね。
172デフォルトの名無しさん
2008/06/09(月) 11:06:00173デフォルトの名無しさん
2008/06/15(日) 19:33:30 えーい
Linqも人気ないけど
ダメ技術のかほりがすっぞ
Linqも人気ないけど
ダメ技術のかほりがすっぞ
174デフォルトの名無しさん
2008/06/17(火) 02:07:55 使ったからといって、別に何かが楽になったりすっきりしたりするように見えないんだよな。
175デフォルトの名無しさん
2008/06/17(火) 07:25:18 ちょっとしたDBアプリ作るの楽になるが。
XMLとかにもいいと思うよ。
XMLとかにもいいと思うよ。
176デフォルトの名無しさん
2008/06/17(火) 21:00:53 メソッド形式は手軽に使えてすごく便利だよね
クエリ形式は「さあLINQ使っちゃうぞー」って感じになっちゃって好きじゃない
クエリ形式は「さあLINQ使っちゃうぞー」って感じになっちゃって好きじゃない
177デフォルトの名無しさん
2008/06/17(火) 22:19:07 未だにクエリ式だとpとかqとかのスコープがよくわかってない俺。
178デフォルトの名無しさん
2008/06/18(水) 03:55:30 fromやletが沢山必要になる場合は
クエリ式を使ってる
けど、それ以外ではクエリ式は全然使ってない
クエリ式を使ってる
けど、それ以外ではクエリ式は全然使ってない
179デフォルトの名無しさん
2008/06/19(木) 22:35:19 使い方も確立されてない未知のもんだからな。
ポテンシャルは高い気がする。
ポテンシャルは高い気がする。
180デフォルトの名無しさん
2008/06/20(金) 00:55:26 LINQきれいにかけるけれど、特にObjectLINQだと効率的にはだめな場合もあるからなぁ。
微妙なところだ。
PLINQとかになるとまた話は違うだろうけれど。
微妙なところだ。
PLINQとかになるとまた話は違うだろうけれど。
181デフォルトの名無しさん
2008/06/20(金) 08:43:29 >>180
from x in a select x; みたいなのを foreach(var x in a) yield return x; に変えるような
最適化だとせいぜい5%くらいしかスピード変わらない。
5%を気にしないといけない場面はそれほど多くないと思う。
ただ、a.Max(), a.Min(), a.Count() を同時に求めたいような場合、
自前で for まわして同時に求めた方が圧倒的に早い。
Parallel Extensions にはParallel.Forとかもついてるしなぁ。
PLINQでもやっぱり Max, Min, Count の問題は解消しない。
from x in a select x; みたいなのを foreach(var x in a) yield return x; に変えるような
最適化だとせいぜい5%くらいしかスピード変わらない。
5%を気にしないといけない場面はそれほど多くないと思う。
ただ、a.Max(), a.Min(), a.Count() を同時に求めたいような場合、
自前で for まわして同時に求めた方が圧倒的に早い。
Parallel Extensions にはParallel.Forとかもついてるしなぁ。
PLINQでもやっぱり Max, Min, Count の問題は解消しない。
182デフォルトの名無しさん
2008/06/20(金) 09:05:06 >>181
DryadLINQみたいにExpressionを直接扱う計算エンジンが要るね。
PLINQは所詮IEnumerableベースだし。
ttp://research.microsoft.com/research/sv/DryadLINQ/
ポテンシャルはDryadLINQ>>>>>PLINQなんだろうけど、
出荷までにかかる時間を考えるとPLINQ>>>DryadLINQだろうねぇ。
C# 3.0もお披露目から1年半ぐらいかかったし。
出荷までの時間短縮はお金じゃ解決しづらいんだろうな。
DryadLINQみたいにExpressionを直接扱う計算エンジンが要るね。
PLINQは所詮IEnumerableベースだし。
ttp://research.microsoft.com/research/sv/DryadLINQ/
ポテンシャルはDryadLINQ>>>>>PLINQなんだろうけど、
出荷までにかかる時間を考えるとPLINQ>>>DryadLINQだろうねぇ。
C# 3.0もお披露目から1年半ぐらいかかったし。
出荷までの時間短縮はお金じゃ解決しづらいんだろうな。
183デフォルトの名無しさん
2008/06/20(金) 09:07:06 >出荷までにかかる時間を考えるとPLINQ>>>DryadLINQだろうねぇ。
不等号逆だった……
ポテンシャル: DryadLINQ>>>>>PLINQ
出荷までにかかる時間: PLINQ<<<DryadLINQ
不等号逆だった……
ポテンシャル: DryadLINQ>>>>>PLINQ
出荷までにかかる時間: PLINQ<<<DryadLINQ
184デフォルトの名無しさん
2008/06/20(金) 09:10:04 >C# 3.0もお披露目から1年半ぐらいかかったし。
あとこれもお披露目から2年半の間違い。
あとこれもお披露目から2年半の間違い。
185デフォルトの名無しさん
2008/06/21(土) 10:41:48 もうちょっと落ち着いて!
186デフォルトの名無しさん
2008/06/26(木) 01:03:41 いや、勢いあったほうがよい
187デフォルトの名無しさん
2008/07/07(月) 22:42:17 複雑なXMLファイルの読み込みはXmlTextReaderよりLINQ to Xmlを使ったほうが簡潔に書けそうですか?
188デフォルトの名無しさん
2008/07/07(月) 22:53:07 書いてみろ
189デフォルトの名無しさん
2008/07/07(月) 23:23:38 >>188
一言レスって周りにも意図伝わらないからヤメレ
一言レスって周りにも意図伝わらないからヤメレ
190デフォルトの名無しさん
2008/07/07(月) 23:26:55 最近、勉強ついでにLINQtoSQL使ってるけどクラスとして扱えるだけで便利すぎ。
リレーション張っても参照のプロパティでアクセス出来るのも簡単すぎて涙が出る。
長ったらしいデータセットのクラス名で変数宣言してたら、varで省略できるのにも涙が出た。
リレーション張っても参照のプロパティでアクセス出来るのも簡単すぎて涙が出る。
長ったらしいデータセットのクラス名で変数宣言してたら、varで省略できるのにも涙が出た。
191>>188 じゃないよ
2008/07/07(月) 23:30:39192デフォルトの名無しさん
2008/07/08(火) 10:10:04 XmlElementとXElementの違いを問うならわかるが、
XmlReaderと比べるあたり自分では何も調べずに
思いつきで書き込んだと証明してるようなものだ。
XmlReaderと比べるあたり自分では何も調べずに
思いつきで書き込んだと証明してるようなものだ。
193デフォルトの名無しさん
2008/07/08(火) 23:25:23194デフォルトの名無しさん
2008/07/08(火) 23:47:33 なんか俺のせいで荒れてるみたいだな
ごめんなさい
>>192
違いの話なんかしてないっすよ?
あれからbuilderってサイトのサンプルを読んで勉強してみてる。
ちょっと興奮で震えてます。
皆ありがとう
ごめんなさい
>>192
違いの話なんかしてないっすよ?
あれからbuilderってサイトのサンプルを読んで勉強してみてる。
ちょっと興奮で震えてます。
皆ありがとう
195デフォルトの名無しさん
2008/07/09(水) 03:40:44 複雑なXMLファイルの定義によるかな。
Linq for XMLで使うXElement系のクラスはDTDやXMLスキーマをサポートしない。
構造の検査、実体やデフォルトの属性を展開することが必要という意味で複雑なXMLだったら手も足も出ない。
XDocument/XElementはXMLパーサーとしての機能をしぼっている。
簡単なXMLの読み書き加工は簡単にかつスマートに書ける、Linq for XMLはその為のもの。
XmlDocment/ElementはDOMとしてのすべての機能をもつ。多機能ではあるが何をするにも大掛かり。
XmlReader/Writerは StAX型の前方参照型で高速。
使用メモリが少なくてすみ全部メモリに読み込むのが問題になるような大きなXMLも対応できる。
扱いは当然ややこしい。
Linq for XMLで使うXElement系のクラスはDTDやXMLスキーマをサポートしない。
構造の検査、実体やデフォルトの属性を展開することが必要という意味で複雑なXMLだったら手も足も出ない。
XDocument/XElementはXMLパーサーとしての機能をしぼっている。
簡単なXMLの読み書き加工は簡単にかつスマートに書ける、Linq for XMLはその為のもの。
XmlDocment/ElementはDOMとしてのすべての機能をもつ。多機能ではあるが何をするにも大掛かり。
XmlReader/Writerは StAX型の前方参照型で高速。
使用メモリが少なくてすみ全部メモリに読み込むのが問題になるような大きなXMLも対応できる。
扱いは当然ややこしい。
196デフォルトの名無しさん
2008/07/11(金) 13:29:59 意外に使いやすいよねXmlReader/Writer
197デフォルトの名無しさん
2008/07/19(土) 20:38:17 マイクロソフト公式解説書としてLINQ本が出るってよ
LINQテクノロジ入門
http://ec.nikkeibp.co.jp/item/books/A04100.html
・07/22発売 3,360円(税込み) B5変 280P
LINQテクノロジ入門
http://ec.nikkeibp.co.jp/item/books/A04100.html
・07/22発売 3,360円(税込み) B5変 280P
198197
2008/07/27(日) 00:32:31 届いたんでぼちぼち読み始め
図表を多く使っていて、C#/VBのサンプルコードも多いのは○
内容的には結構踏み込んで丁寧に解説されていて、実際に発行されるT-SQLまで触れられてたりする。
・C#/VB・SQLに関する基本的な理解は必須。
・開発経験のない初心者が読むには少し難しい。
・何となくLINQを使っているが、使いこなせていないと感じてる人 にはおすすめ。
図表を多く使っていて、C#/VBのサンプルコードも多いのは○
内容的には結構踏み込んで丁寧に解説されていて、実際に発行されるT-SQLまで触れられてたりする。
・C#/VB・SQLに関する基本的な理解は必須。
・開発経験のない初心者が読むには少し難しい。
・何となくLINQを使っているが、使いこなせていないと感じてる人 にはおすすめ。
199デフォルトの名無しさん
2008/07/27(日) 01:55:18 LINQのProviderでしたっけ?クエリーとかを実装する側の作業についてまとまってるarticleとかってありますかね?(´・ω・`)
200デフォルトの名無しさん
2008/07/27(日) 11:06:25 >>199
単に .Select メソッド(あるいは拡張メソッド)とか実装するだけ。
LINQ to SQL みたいなことしたければ、
LINQ の勉強というよりは、Expression Trees の勉強が必要。
で、LINQ がらみの記事は結構おおいけど、
Expression Trees はあんまり見ないなぁ。
単に .Select メソッド(あるいは拡張メソッド)とか実装するだけ。
LINQ to SQL みたいなことしたければ、
LINQ の勉強というよりは、Expression Trees の勉強が必要。
で、LINQ がらみの記事は結構おおいけど、
Expression Trees はあんまり見ないなぁ。
201デフォルトの名無しさん
2008/07/27(日) 12:23:14202デフォルトの名無しさん
2008/07/27(日) 12:55:38 Expression Trees の方は、↓に多少サンプルあり。
http://ufcpp.net/study/csharp/sp3_linqreconstruct.html
LINQ to SQL みたいなことしたければ、IQueryable でググってみるといいんじゃないかと。
http://ufcpp.net/study/csharp/sp3_linqreconstruct.html
LINQ to SQL みたいなことしたければ、IQueryable でググってみるといいんじゃないかと。
203デフォルトの名無しさん
2008/07/27(日) 13:14:37 MSDNのこれも読んでおくといいかも。
ttp://msdn.microsoft.com/ja-jp/library/bb546158.aspx
ttp://msdn.microsoft.com/ja-jp/library/bb882640.aspx
ttp://msdn.microsoft.com/ja-jp/library/bb546158.aspx
ttp://msdn.microsoft.com/ja-jp/library/bb882640.aspx
204デフォルトの名無しさん
2008/08/31(日) 11:34:15 >>198
LINQの本が少ない中、この本はお薦め。
LINQを構成する基礎や、現在のバージョンで、できる事できない事、
やってはダメな事が書かれている。
.netとSQLを使って仕事している人ならLINQがどういう物か理解できる。
少なくともこの本レベルの事を理解していないと知らずに地雷を埋め込むことになる。
LINQの本が少ない中、この本はお薦め。
LINQを構成する基礎や、現在のバージョンで、できる事できない事、
やってはダメな事が書かれている。
.netとSQLを使って仕事している人ならLINQがどういう物か理解できる。
少なくともこの本レベルの事を理解していないと知らずに地雷を埋め込むことになる。
205デフォルトの名無しさん
2008/08/31(日) 18:22:46 LINQは、VSに付いてくるC#のサンプルコードだけで十分理解できるでしょ。
206デフォルトの名無しさん
2008/08/31(日) 23:44:43 LINQがこれから他のテクノロジとどう統合されてくのかよくわからん(´・ω・`)
207デフォルトの名無しさん
2008/09/01(月) 00:10:28 > どう統合されてくのか
消えていくと言う運命もあるから、俺はもう少し様子見。
消えていくと言う運命もあるから、俺はもう少し様子見。
208デフォルトの名無しさん
2008/09/01(月) 00:59:30 これだけ言語に食いこんだものが消えるというのはありえないと思うが。
209デフォルトの名無しさん
2008/09/01(月) 06:48:16210デフォルトの名無しさん
2008/09/01(月) 09:00:39 小手先の道具として便利なLINQ to objectsくらいは残るでしょ
そのほかはともかく
そのほかはともかく
211デフォルトの名無しさん
2008/09/01(月) 21:35:34 別に「残らない」なんて断定してるわけじゃないよ。
俺はなくてもあまり困ってないし、「残らない可能性もある」ので
ちょっと様子見してるだげ。
いいと思う人はどしどし使って広めてくれ。
俺はなくてもあまり困ってないし、「残らない可能性もある」ので
ちょっと様子見してるだげ。
いいと思う人はどしどし使って広めてくれ。
212デフォルトの名無しさん
2008/09/01(月) 23:25:27 LINQ便利ざんすよ?
特にLINQtoSQL。XMLはしらんがたぶん便利だろう。
今のだと出来ないこともあるけれど、出来るところのはかなり楽だ。
特にLINQtoSQL。XMLはしらんがたぶん便利だろう。
今のだと出来ないこともあるけれど、出来るところのはかなり楽だ。
213デフォルトの名無しさん
2008/09/01(月) 23:38:08 LINQ の意義の1つに、コレクションに対する操作がらみのメソッド名を統一したってのがあるから、
今後、LINQ to SQL とか LINQ to XML が廃れるようになろうとも、
コレクションとかサーバ問い合わせ系のライブラリ書く人は
おそらくほぼ LINQ の規約に従ってメソッド名を付けると思う。
そういう意味では、廃れないと思うんだが。
クエリ式とか、IQueryable を介したサーバ問い合わせとかが廃れようとも、
命名規約の部分に関しては絶対残る。
今後、LINQ to SQL とか LINQ to XML が廃れるようになろうとも、
コレクションとかサーバ問い合わせ系のライブラリ書く人は
おそらくほぼ LINQ の規約に従ってメソッド名を付けると思う。
そういう意味では、廃れないと思うんだが。
クエリ式とか、IQueryable を介したサーバ問い合わせとかが廃れようとも、
命名規約の部分に関しては絶対残る。
214デフォルトの名無しさん
2008/09/01(月) 23:43:37 MS の技術が「なくても困らない」と感じるのは、
MS がエンタープライズ相手の商売してるから、
個人で趣味で開発してる人へのアピール弱いせい。
あんまりホビープログラムでDBアプリとか書かないし。
MS がエンタープライズ相手の商売してるから、
個人で趣味で開発してる人へのアピール弱いせい。
あんまりホビープログラムでDBアプリとか書かないし。
215デフォルトの名無しさん
2008/09/02(火) 00:10:13 LINQはEntity Frameworkなんかと密接に関わるからねー
まだまだこれからの技術。
まだまだこれからの技術。
216デフォルトの名無しさん
2008/09/03(水) 00:23:39 group by ... into g select new {value1 => g.hoge, value2 => g.fuga }
みたいなLINQ書くとselect newの部分でvalue1とvalue2を生成するためにSQLサブクエリが生成されるんだけど、
これってgroup byだけで上手く書き直す方法ないんかなぁ。
というより、生成したクエリを最適化してくれる関数みたいなものはないんだろうか。
みたいなLINQ書くとselect newの部分でvalue1とvalue2を生成するためにSQLサブクエリが生成されるんだけど、
これってgroup byだけで上手く書き直す方法ないんかなぁ。
というより、生成したクエリを最適化してくれる関数みたいなものはないんだろうか。
217デフォルトの名無しさん
2008/09/03(水) 08:19:42 LINQ to SQL 自体、Entity Framework までの繋ぎの過渡技術だし、
今後 Entity Fx の側がよっぽど大ごけしないと
LINQ to SQL のグレードアップは見込めない気もする。
LINQ とは別に、SQL 文の最適化ライブラリみたいなの探す方が早いかも。
今後 Entity Fx の側がよっぽど大ごけしないと
LINQ to SQL のグレードアップは見込めない気もする。
LINQ とは別に、SQL 文の最適化ライブラリみたいなの探す方が早いかも。
218デフォルトの名無しさん
2008/09/03(水) 08:25:31 EntityFWのクエリーインターフェースとして、LINQ使われるんじゃないの?(´・ω・`)
今のLINQのEntityうんたらがもっとしっかりしたものになるということ?
今のLINQのEntityうんたらがもっとしっかりしたものになるということ?
219デフォルトの名無しさん
2008/09/03(水) 08:44:14 裏側の最適化の話ね。
同じ LINQ クエリ式を書いたときに、
実際にどういう SQL 文が発行されるかという、
実装上の最適化の部分に関して、
LINQ to SQL の今後にはあんまり期待しない方がいいんじゃないかってこと。
まだ手をつけてる人が少なくて情報少ないけども、
将来を期待したいなら LINQ to Entity Framework の方使うこと考えるのがいいんじゃないかと。
同じ LINQ クエリ式を書いたときに、
実際にどういう SQL 文が発行されるかという、
実装上の最適化の部分に関して、
LINQ to SQL の今後にはあんまり期待しない方がいいんじゃないかってこと。
まだ手をつけてる人が少なくて情報少ないけども、
将来を期待したいなら LINQ to Entity Framework の方使うこと考えるのがいいんじゃないかと。
220デフォルトの名無しさん
2008/09/03(水) 08:46:06 LINQtoSQLがせいじゅくされてLINQtoEntityになるのかとおもっとった
221デフォルトの名無しさん
2008/09/11(木) 20:45:39 りんきゅー><
222デフォルトの名無しさん
2008/09/17(水) 20:13:37 ↓をメソッド形式で書きたいのですが、OrderByメソッドで複数のプロパティで
ソートするのははどうすればいいですか?
var v = from e in GetFoo() orderby e.Age, e.Name select e
OrderBy二回せずに一回でさくっと書きたいです。
ソートするのははどうすればいいですか?
var v = from e in GetFoo() orderby e.Age, e.Name select e
OrderBy二回せずに一回でさくっと書きたいです。
223デフォルトの名無しさん
2008/09/17(水) 22:32:24224デフォルトの名無しさん
2008/09/18(木) 20:14:01 >>223
ThenByって知らなかった。ありがと。
ThenByって知らなかった。ありがと。
225デフォルトの名無しさん
2008/09/19(金) 01:50:55 つか、そんなの条件式を二つ持つOrderByを自分で実装するがよろし
226デフォルトの名無しさん
2008/09/19(金) 03:17:06 引数可変にしてOrderBy〜ThenByに丸投げで、1分とかからずに実装できるな
227デフォルトの名無しさん
2008/09/19(金) 07:24:56 こうして車輪は四角に変容しバグを抱擁した後に再輸出されるのであった...
228デフォルトの名無しさん
2008/09/28(日) 23:54:29 LINQの遅延実行と即時実行は正直いらない気がする。
Aggreegate戻り値はIntegerだし、クエリ機能あれば十分なのでは。
LINQ TO XMLとか開発の現場でまず使うのは小数だろうし、可用性が低いよ。
VBチームの自己満足だね。いつものことだけど。
Aggreegate戻り値はIntegerだし、クエリ機能あれば十分なのでは。
LINQ TO XMLとか開発の現場でまず使うのは小数だろうし、可用性が低いよ。
VBチームの自己満足だね。いつものことだけど。
229デフォルトの名無しさん
2008/09/29(月) 12:49:16 >>228
VBのAggregate構文のことかEnumerable.Aggregateのことを言ってるのかわからない。
Integerってどういう意味だろう、集計対象の型で集計されると思うけど。
VBのLinqは使いやすくしようと、文法やキーワードを増やしすぎて
収集がつかなくなってるという感じはする。C#と同じにしておけば良かったような。
VBのAggregate構文のことかEnumerable.Aggregateのことを言ってるのかわからない。
Integerってどういう意味だろう、集計対象の型で集計されると思うけど。
VBのLinqは使いやすくしようと、文法やキーワードを増やしすぎて
収集がつかなくなってるという感じはする。C#と同じにしておけば良かったような。
230デフォルトの名無しさん
2008/09/29(月) 14:30:31 VBはラムダ式が冗長だから拡張メソッドでクエリ書くと悲惨なことになる
231デフォルトの名無しさん
2008/09/29(月) 14:54:49 遅延実行と即時評価ってやたら強調されてるけど
やっぱりC#のyield知らないとわかりにくいのかな
やっぱりC#のyield知らないとわかりにくいのかな
232デフォルトの名無しさん
2008/09/29(月) 23:02:22 言われてみるとyieldを知らない(あまり使った事がない)とすれば
即時実行でないのに違和感を感じるのも分かるな。
即時実行でないのに違和感を感じるのも分かるな。
233デフォルトの名無しさん
2008/09/30(火) 11:58:27 いまさらだけど、yield Returnつう名前がややこすいよ!!
234デフォルトの名無しさん
2008/09/30(火) 23:43:43 yield とかってどこからきたん?関数型?
235デフォルトの名無しさん
2008/09/30(火) 23:47:50 Rubyのはクロージャ呼び出しだからPythonかなぁ。
Windows2x時代のAPIは関係ないと思う。
Windows2x時代のAPIは関係ないと思う。
236デフォルトの名無しさん
2008/10/01(水) 02:17:48 ICONからきていると予想
Fiberはいつのまにか消えていたってオチかな
Fiberはいつのまにか消えていたってオチかな
237[Fn]+[名無しさん]
2008/10/02(木) 00:00:54 てかDTDとかXMLスキーマサポートしてない段階でLINQ廃レは確定ぽ。。
238デフォルトの名無しさん
2008/10/02(木) 00:06:53 それは LINQ to XML の問題であって、LINQ の問題じゃないのでは。
239デフォルトの名無しさん
2008/10/02(木) 01:54:39 LINQ to XMLはもともとXmlDOMやXmlReaderの代替を狙ったものじゃなく、
standaloneのXMLや部分的なXMLを簡単に扱えることを目指したもの。
はじめからDTDやXMLSchemaはサポートしないことになっていた。
もっともnamespaceを中途半端なサポートはチトいただけないから改良は欲しい。
いっそなくすか、もっと充実させるかどちらかで。
standaloneのXMLや部分的なXMLを簡単に扱えることを目指したもの。
はじめからDTDやXMLSchemaはサポートしないことになっていた。
もっともnamespaceを中途半端なサポートはチトいただけないから改良は欲しい。
いっそなくすか、もっと充実させるかどちらかで。
240デフォルトの名無しさん
2008/10/02(木) 08:21:03 スキーマはサポートしない、って確かにそうなんだけど
ぶっちゃけあれ下層に XmlReader が使えるからでは
ないのかと
ぶっちゃけあれ下層に XmlReader が使えるからでは
ないのかと
241デフォルトの名無しさん
2008/10/02(木) 13:10:43 LINQはすんばらしい
FOR EACH書かなくてすむし、べた書きのXMLもコードとして扱える。
FOR EACH書かなくてすむし、べた書きのXMLもコードとして扱える。
242デフォルトの名無しさん
2008/10/03(金) 00:46:47 C#だとエディットコンティニューが使えないのは結構痛い
243デフォルトの名無しさん
2008/10/03(金) 10:10:47 エディットコンティニュかあ、x64だと使えないんだよなあ。
まあx86にすりゃいいんだけど、デフォがAnyCPUだからなあ。
まあx86にすりゃいいんだけど、デフォがAnyCPUだからなあ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★8 [ぐれ★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 【実況】博衣こよりのえちえちダンガンロンパ4🧪
- 【貧鈍】日本人、ついにゴミ箱設置で自治体、住民、事業者、域外来訪者らで揉める!街がポイ捨てゴミで溢れる [219241683]
- 日本人、インバウンド減っても貧乏すぎて国内旅行すら行けないと判明🥺 [399259198]
- 【実況】博衣こよりのえちえちダンガンロンパ5🧪
- 旅行ジャーナリスト『日本人が国内旅行すら行けなくなっている根本的な原因は、「お金も時間もない」ことに尽きる』本当か?🤔 [718678614]
- プログラミングって具体的に何?
