1 名前:デフォルトの名無しさん [2008/02/09(土) 23:51:34 ] VisualStudio2008より追加された便利で強力な機能 統合言語クエリ (LINQ : Language Integrated Query) ちょっと使ってみると、意外と難しいし、テクニック的にも奥が深いものです。 関数型言語にしかないような機能ラムダ式(Lambda式)などはオブジェクト指向とは一味違う機能です。 DataBaseの操作にも、Xmlの操作にも、さらにもっと単純な配列なコンテナにさえ機能する 言語共通・高汎用な統合言語クエリを皆で一緒にマターリ勉強しましょう。 質問、便利なマイテクニックの発表、いろいろやっちゃってください。
152 名前:sage [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 )
153 名前:デフォルトの名無しさん mailto:sage [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 }; こんな感じだけど、この例だとサブクエリ必要なくね?
154 名前:デフォルトの名無しさん mailto:sage [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
155 名前:デフォルトの名無しさん [2008/04/13(日) 14:50:18 ] そんなことしなくても 保守が容易な綺麗なコードを書けるから (゚听)イラネ
156 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:44:19 ] 最近LINQ初めて>>22 見たんだけど、 コードが見通しよく整理されていく中盤からの展開は見てて痛快だなぁ
157 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:22:23 ] code.msdn.microsoft.com/vlinq
158 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:41:48 ] >>157 Visual LINQ Query Builder VS2008用のアドインか
159 名前:デフォルトの名無しさん [2008/05/24(土) 20:45:08 ] Linqで書くと速くならないなら需要ないんじゃない SQLでおなかいっぱいで
160 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 21:01:08 ] >>159 LINQ の価値は速度じゃなくて、 OOP パラダイムと RDB パラダイムの懸け橋になること。 SQL でおなかいっぱいって人にこそ LINQ がいいんじゃないか。
161 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:11:23 ] パラ? お母さんが子供に教えるように教えてください
162 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:23:16 ] >>161 C# の中で、オブジェクト指向言語の感覚からあまり外れることなく、 データベース問い合わせが書けるってことが大事。
163 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 00:22:26 ] 最初は書き方に戸惑うが、だいたいの書き方がわかってくればインテリセンス使えるのがとても大きい
164 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 04:39:07 ] コンパイラによる構文チェックが行われるというのも大きい。 条件次第で内容が大きく変わるようなクエリを構成するときに、文字列の連結を間違えて バグを作り込んでしまうような、つまらないミスを防げる。 DataContextの定義にあわせて自動でCREATE DATABASEしてくれるとか、生産性の向上に つながる要素がいろいろあるよ。 俺もほとんど把握してないけどさ。
165 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 09:04:21 ] SQLって、汎用コレクションデータ処理エンジンだね。 C/C++やらで何らかのデータ処理を行う場合、その度毎にアルゴリズムを考え、設計し、 コードを作りこまなくちゃいけないけど。 RDBだと、ちょこっとSQLを定義するだけで実際の処理はRDBのエンジンがやってくれる。 例えるなら文字列の正規表現みたいな感じで。 それが言語組み込みの文法として、RDBだとDBサーバを立て、テーブルを作り、データをインポートして からじゃないと使えないのが、RDBに限らずC#言語上の任意のコレクションデータで使えてしまう ってのは便利。
166 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 09:41:44 ] >>161 インピーダンスミスマッチでぐぐれ
167 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 11:12:57 ] SQLMetalってすでにあるテーブルのオブジェクト定義のXMLを生成するものだよね? 逆に今あるオブジェクトからテーブルとかを生成するツールってあったっけ?
168 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 14:02:32 ] >>167 方法 : データベースを動的に作成する (LINQ to SQL) msdn.microsoft.com/ja-jp/library/bb399420.aspx
169 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 14:39:10 ] >>161 これでも読め www.microsoft.com/japan/msdn/net/bb425822.aspx
170 名前:デフォルトの名無しさん [2008/06/02(月) 22:49:47 ] Linq人気ないから救済でAgeてやる 感謝しろビル
171 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 08:38:01 ] PL/SQLですね。
172 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 11:06:00 ] pc11.2ch.net/test/read.cgi/tech/1212972014/
173 名前:デフォルトの名無しさん [2008/06/15(日) 19:33:30 ] えーい Linqも人気ないけど ダメ技術のかほりがすっぞ
174 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 02:07:55 ] 使ったからといって、別に何かが楽になったりすっきりしたりするように見えないんだよな。
175 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 07:25:18 ] ちょっとしたDBアプリ作るの楽になるが。 XMLとかにもいいと思うよ。
176 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:00:53 ] メソッド形式は手軽に使えてすごく便利だよね クエリ形式は「さあLINQ使っちゃうぞー」って感じになっちゃって好きじゃない
177 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:19:07 ] 未だにクエリ式だとpとかqとかのスコープがよくわかってない俺。
178 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 03:55:30 ] fromやletが沢山必要になる場合は クエリ式を使ってる けど、それ以外ではクエリ式は全然使ってない
179 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:35:19 ] 使い方も確立されてない未知のもんだからな。 ポテンシャルは高い気がする。
180 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 00:55:26 ] LINQきれいにかけるけれど、特にObjectLINQだと効率的にはだめな場合もあるからなぁ。 微妙なところだ。 PLINQとかになるとまた話は違うだろうけれど。
181 名前:デフォルトの名無しさん mailto:sage [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 の問題は解消しない。
182 名前:デフォルトの名無しさん mailto:sage [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年半ぐらいかかったし。 出荷までの時間短縮はお金じゃ解決しづらいんだろうな。
183 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:07:06 ] >出荷までにかかる時間を考えるとPLINQ>>>DryadLINQだろうねぇ。 不等号逆だった…… ポテンシャル: DryadLINQ>>>>>PLINQ 出荷までにかかる時間: PLINQ<<<DryadLINQ
184 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:10:04 ] >C# 3.0もお披露目から1年半ぐらいかかったし。 あとこれもお披露目から2年半の間違い。
185 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 10:41:48 ] もうちょっと落ち着いて!
186 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 01:03:41 ] いや、勢いあったほうがよい
187 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 22:42:17 ] 複雑なXMLファイルの読み込みはXmlTextReaderよりLINQ to Xmlを使ったほうが簡潔に書けそうですか?
188 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 22:53:07 ] 書いてみろ
189 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 23:23:38 ] >>188 一言レスって周りにも意図伝わらないからヤメレ
190 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 23:26:55 ] 最近、勉強ついでにLINQtoSQL使ってるけどクラスとして扱えるだけで便利すぎ。 リレーション張っても参照のプロパティでアクセス出来るのも簡単すぎて涙が出る。 長ったらしいデータセットのクラス名で変数宣言してたら、varで省略できるのにも涙が出た。
191 名前:>>188 じゃないよ mailto:sage [2008/07/07(月) 23:30:39 ] >>189 自分で書けばわかるって事だろ? 意図理解できないのは君だけだと思うが。
192 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 10:10:04 ] XmlElementとXElementの違いを問うならわかるが、 XmlReaderと比べるあたり自分では何も調べずに 思いつきで書き込んだと証明してるようなものだ。
193 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 23:25:23 ] >>191 二つコードを書けということですね、わかります
194 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 23:47:33 ] なんか俺のせいで荒れてるみたいだな ごめんなさい >>192 違いの話なんかしてないっすよ? あれからbuilderってサイトのサンプルを読んで勉強してみてる。 ちょっと興奮で震えてます。 皆ありがとう
195 名前:デフォルトの名無しさん mailto:sage [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も対応できる。 扱いは当然ややこしい。
196 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 13:29:59 ] 意外に使いやすいよねXmlReader/Writer
197 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 20:38:17 ] マイクロソフト公式解説書としてLINQ本が出るってよ LINQテクノロジ入門 ec.nikkeibp.co.jp/item/books/A04100.html ・07/22発売 3,360円(税込み) B5変 280P
198 名前:197 mailto:sage [2008/07/27(日) 00:32:31 ] 届いたんでぼちぼち読み始め 図表を多く使っていて、C#/VBのサンプルコードも多いのは○ 内容的には結構踏み込んで丁寧に解説されていて、実際に発行されるT-SQLまで触れられてたりする。 ・C#/VB・SQLに関する基本的な理解は必須。 ・開発経験のない初心者が読むには少し難しい。 ・何となくLINQを使っているが、使いこなせていないと感じてる人 にはおすすめ。
199 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 01:55:18 ] LINQのProviderでしたっけ?クエリーとかを実装する側の作業についてまとまってるarticleとかってありますかね?(´・ω・`)
200 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 11:06:25 ] >>199 単に .Select メソッド(あるいは拡張メソッド)とか実装するだけ。 LINQ to SQL みたいなことしたければ、 LINQ の勉強というよりは、Expression Trees の勉強が必要。 で、LINQ がらみの記事は結構おおいけど、 Expression Trees はあんまり見ないなぁ。
201 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 12:23:14 ] >>200 それです、それ。 具体的にどこまでのExpressionTreeをどんな風に実装したらいいのかが・・・
202 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 12:55:38 ] Expression Trees の方は、↓に多少サンプルあり。 ufcpp.net/study/csharp/sp3_linqreconstruct.html LINQ to SQL みたいなことしたければ、IQueryable でググってみるといいんじゃないかと。
203 名前:デフォルトの名無しさん mailto:sage [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
204 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 11:34:15 ] >>198 LINQの本が少ない中、この本はお薦め。 LINQを構成する基礎や、現在のバージョンで、できる事できない事、 やってはダメな事が書かれている。 .netとSQLを使って仕事している人ならLINQがどういう物か理解できる。 少なくともこの本レベルの事を理解していないと知らずに地雷を埋め込むことになる。
205 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 18:22:46 ] LINQは、VSに付いてくるC#のサンプルコードだけで十分理解できるでしょ。
206 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:44:43 ] LINQがこれから他のテクノロジとどう統合されてくのかよくわからん(´・ω・`)
207 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:10:28 ] > どう統合されてくのか 消えていくと言う運命もあるから、俺はもう少し様子見。
208 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:59:30 ] これだけ言語に食いこんだものが消えるというのはありえないと思うが。
209 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 06:48:16 ] いや、互換性のために機能としてはずっと残るかもしれないけど 新規には誰も使わなくなって結局放置と言うこと。 まあ、特攻する人も必要だから、>>208 は頑張ってくれ。
210 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 09:00:39 ] 小手先の道具として便利なLINQ to objectsくらいは残るでしょ そのほかはともかく
211 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:35:34 ] 別に「残らない」なんて断定してるわけじゃないよ。 俺はなくてもあまり困ってないし、「残らない可能性もある」ので ちょっと様子見してるだげ。 いいと思う人はどしどし使って広めてくれ。
212 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:25:27 ] LINQ便利ざんすよ? 特にLINQtoSQL。XMLはしらんがたぶん便利だろう。 今のだと出来ないこともあるけれど、出来るところのはかなり楽だ。
213 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:38:08 ] LINQ の意義の1つに、コレクションに対する操作がらみのメソッド名を統一したってのがあるから、 今後、LINQ to SQL とか LINQ to XML が廃れるようになろうとも、 コレクションとかサーバ問い合わせ系のライブラリ書く人は おそらくほぼ LINQ の規約に従ってメソッド名を付けると思う。 そういう意味では、廃れないと思うんだが。 クエリ式とか、IQueryable を介したサーバ問い合わせとかが廃れようとも、 命名規約の部分に関しては絶対残る。
214 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:43:37 ] MS の技術が「なくても困らない」と感じるのは、 MS がエンタープライズ相手の商売してるから、 個人で趣味で開発してる人へのアピール弱いせい。 あんまりホビープログラムでDBアプリとか書かないし。
215 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:10:13 ] LINQはEntity Frameworkなんかと密接に関わるからねー まだまだこれからの技術。
216 名前:デフォルトの名無しさん mailto:sage [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だけで上手く書き直す方法ないんかなぁ。 というより、生成したクエリを最適化してくれる関数みたいなものはないんだろうか。
217 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 08:19:42 ] LINQ to SQL 自体、Entity Framework までの繋ぎの過渡技術だし、 今後 Entity Fx の側がよっぽど大ごけしないと LINQ to SQL のグレードアップは見込めない気もする。 LINQ とは別に、SQL 文の最適化ライブラリみたいなの探す方が早いかも。
218 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 08:25:31 ] EntityFWのクエリーインターフェースとして、LINQ使われるんじゃないの?(´・ω・`) 今のLINQのEntityうんたらがもっとしっかりしたものになるということ?
219 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 08:44:14 ] 裏側の最適化の話ね。 同じ LINQ クエリ式を書いたときに、 実際にどういう SQL 文が発行されるかという、 実装上の最適化の部分に関して、 LINQ to SQL の今後にはあんまり期待しない方がいいんじゃないかってこと。 まだ手をつけてる人が少なくて情報少ないけども、 将来を期待したいなら LINQ to Entity Framework の方使うこと考えるのがいいんじゃないかと。
220 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 08:46:06 ] LINQtoSQLがせいじゅくされてLINQtoEntityになるのかとおもっとった
221 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 20:45:39 ] りんきゅー><
222 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 20:13:37 ] ↓をメソッド形式で書きたいのですが、OrderByメソッドで複数のプロパティで ソートするのははどうすればいいですか? var v = from e in GetFoo() orderby e.Age, e.Name select e OrderBy二回せずに一回でさくっと書きたいです。
223 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 22:32:24 ] >>222 OrderBy(1つ目の条件).ThenBy(2つ目の条件) OrderBy 1回というのは無理。
224 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 20:14:01 ] >>223 ThenByって知らなかった。ありがと。
225 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 01:50:55 ] つか、そんなの条件式を二つ持つOrderByを自分で実装するがよろし
226 名前:デフォルトの名無しさん mailto:sage [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チームの自己満足だね。いつものことだけど。
229 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 12:49:16 ] >>228 VBのAggregate構文のことかEnumerable.Aggregateのことを言ってるのかわからない。 Integerってどういう意味だろう、集計対象の型で集計されると思うけど。 VBのLinqは使いやすくしようと、文法やキーワードを増やしすぎて 収集がつかなくなってるという感じはする。C#と同じにしておけば良かったような。
230 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 14:30:31 ] VBはラムダ式が冗長だから拡張メソッドでクエリ書くと悲惨なことになる
231 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 14:54:49 ] 遅延実行と即時評価ってやたら強調されてるけど やっぱりC#のyield知らないとわかりにくいのかな
232 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 23:02:22 ] 言われてみるとyieldを知らない(あまり使った事がない)とすれば 即時実行でないのに違和感を感じるのも分かるな。
233 名前:デフォルトの名無しさん [2008/09/30(火) 11:58:27 ] いまさらだけど、yield Returnつう名前がややこすいよ!!
234 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 23:43:43 ] yield とかってどこからきたん?関数型?
235 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 23:47:50 ] Rubyのはクロージャ呼び出しだからPythonかなぁ。 Windows2x時代のAPIは関係ないと思う。
236 名前:デフォルトの名無しさん [2008/10/01(水) 02:17:48 ] ICONからきていると予想 Fiberはいつのまにか消えていたってオチかな
237 名前:[Fn]+[名無しさん] [2008/10/02(木) 00:00:54 ] てかDTDとかXMLスキーマサポートしてない段階でLINQ廃レは確定ぽ。。
238 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 00:06:53 ] それは LINQ to XML の問題であって、LINQ の問題じゃないのでは。
239 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 01:54:39 ] LINQ to XMLはもともとXmlDOMやXmlReaderの代替を狙ったものじゃなく、 standaloneのXMLや部分的なXMLを簡単に扱えることを目指したもの。 はじめからDTDやXMLSchemaはサポートしないことになっていた。 もっともnamespaceを中途半端なサポートはチトいただけないから改良は欲しい。 いっそなくすか、もっと充実させるかどちらかで。
240 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 08:21:03 ] スキーマはサポートしない、って確かにそうなんだけど ぶっちゃけあれ下層に XmlReader が使えるからでは ないのかと
241 名前:デフォルトの名無しさん [2008/10/02(木) 13:10:43 ] LINQはすんばらしい FOR EACH書かなくてすむし、べた書きのXMLもコードとして扱える。
242 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 00:46:47 ] C#だとエディットコンティニューが使えないのは結構痛い
243 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 10:10:47 ] エディットコンティニュかあ、x64だと使えないんだよなあ。 まあx86にすりゃいいんだけど、デフォがAnyCPUだからなあ。
244 名前:デフォルトの名無しさん [2008/10/11(土) 23:59:11 ] てかLINQってORACLEとかポスグレでも使えるのね。
245 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 00:58:14 ] >>244 LINQ to Entity の出た今となってはね。 MS SQL Server でしか使えないって言われてたのは、 SP1 入る前、LINQ to SQL の時代の話。
246 名前:デフォルトの名無しさん mailto:sage [2008/10/12(日) 02:57:11 ] 別に Linq to SQL でも別データベースサポート可能だよ。 でも Linq -> Entity SQL がサポートされたから、Entity SQL -> ネイティブ SQL だけでいいじゃん=皆やる気ナスなだけで。
247 名前:デフォルトの名無しさん [2008/10/12(日) 20:47:40 ] Linq to Entityが生成する生のSQLを確認する方法を教えてください。
248 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 00:46:17 ] それは実行される前に?恒常的に? そうじゃないならログ見りゃいいと思うけど・・・
249 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 17:15:00 ] >>248 実行時でかまいません。 Linq to SQLのようのDataContext.Logプロパティにあたるものが見当たらないようです。 またSystem.DiagnosticsのTraceやDebugでも確認できませんでした。 探し方が悪いのかもしれませんがSQLのログを出力する方法を教えてください。
250 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 21:39:14 ] だから SQL Server なら確かプロファイラ起動してトレースの開始で… と記憶を頼りにぐぐって気づいたんだが Express にはないのか このツール。おおう。それとごめんトレースだった 2005 ならこんなの見つけたけど ttp://code.google.com/p/sqlexpressprofiler/
251 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 03:19:46 ] タイプセーフなデータベースプログラミング ttp://d.hatena.ne.jp/higayasuo/20081014/1223969275 拡張メソッドとラムダ式と式木と匿名型とvarとあって良かったと思える瞬間。
252 名前:デフォルトの名無しさん mailto:sage [2008/10/17(金) 17:46:42 ] Entity FrameworkをLinqなしで使うと2番目の例っぽくなるね。