オブジェクトデータベース LINQ, DLinq のスレ
: NAME IS NULL [] 2007/03/14(水) 23:01:25:sT4riy5n マイクロソフトのコードネーム Orcas に搭載予定のオブジェクトデータベースを 実現する、言語統合クエリ(LINQ Language integrated query) DLINQ (LINQの実装) などについて語り合いましょう。 : 56 [sage] 2007/09/17(月) 07:03:34ID:??? LINQ構文が2つあるけど上段がORM風に更新可能なCustomerオブジェクトを取得している。 クエリーしてないのに関連をたどってShopの情報も取れる。 下段は普通のLINQ風の構文で更新不可。アドホックなクエリーに使う。 demo.exeに適当な引数をつけると、DLinqがどんなSQLをデータベースに投げてるか見れる。 demo.exe log データが入ってないので次回はデータを入れたいが、繰り返し実行できるように テーブルを消してしまう処理を書いておこう。 これはデータを直接生のSQLを投げて消してしまうもので、 ORMのキャッシュはスルーしてしまうので注意。あくまでも初期化用。 static void Cleanup() { using(DLinqDemo dc = new DLinqDemo(conn)) { if (logFlg) dc.Log = Console.Out; dc.ExecuteCommand("delete from Customer", new object[0]); dc.ExecuteCommand("delete from Shop", new object[0]); } } : NAME IS NULL [sage] 2007/09/17(月) 07:10:20ID:??? データの登録。 shop1に対してCostomerを2件。 shop2に対してCostomerを3件追加している。 それぞれ別のやり方で登録してるから見比べて欲しい。 static void DemoAdd() { using(DLinqDemo dc = new DLinqDemo(conn)) { if (logFlg) dc.Log = Console.Out; var shop1 = new Shop() { ID = "A001", Name="WAHAHA" }; shop1.Customer.Add(new Customer() { Name="AAAA BBBB" }); shop1.Customer.Add(new Customer() { Name="AAAA CCCC" }); shop1.Customer.Add(new Customer() { Name="AAAA DDDD" }); dc.Shop.Add(shop1); var shop2 = new Shop() { ID = "A002", Name="UFUFU" }; dc.Shop.Add(shop2); dc.Customer.Add(new Customer() { Name="RRRR BBBB", Shop=shop2 }); dc.Customer.Add(new Customer() { Name="RRRR CCCC", Shop=shop2 }); dc.SubmitChanges(); } } Mainから次の順番で呼び出してくんしゃい。 Cleanup(); DemoAdd(); DemoList(); : 56 [sage] 2007/09/17(月) 07:13:35ID:??? 最後は変更や削除の例。ちょっと意味不明な処理だがあくまでもデモ用としてみてくれ。 static void DemoModify() { using(DLinqDemo dc = new DLinqDemo(conn)) { if (logFlg) dc.Log = Console.Out; var qr = from c in dc.Customer where c.Name == "RRRR CCCC" || c.Name == "AAAA CCCC" select c; var rs = qr.ToList(); foreach (var r in rs) { if (r.Name == "RRRR CCCC") r.Name = "YYYY CCCC*"; if (r.Name == "AAAA CCCC") dc.Customer.Remove(r); } dc.SubmitChanges(); } } 長々とすまなかった。以上だ。 : NAME IS NULL [sage] 2007/09/22(土) 22:01:44ID:??? デモプログラムサンクス。 ちなみに何処の解説を参考にして書いたの? : NAME IS NULL [sage] 2007/10/04(木) 07:53:43ID:??? sage : NAME IS NULL [sage] 2007/10/22(月) 07:46:22ID:??? sage : NAME IS NULL [sage] 2007/11/08(木) 19:37:33ID:??? さげ : NAME IS NULL [sage] 2007/11/12(月) 23:42:16ID:??? sage : NAME IS NULL [age] 2007/11/17(土) 18:55:45ID:??? age : NAME IS NULL [] 2007/12/02(日) 12:02:39:jhMQgNuU age : NAME IS NULL [] 2007/12/10(月) 19:31:25:7fB17NBW age : NAME IS NULL [sage] 2007/12/11(火) 03:31:57ID:??? リリース版の.NET3.5にsqlmetalが付いて来なくなってる。SDKはまだか。 : NAME IS NULL [age] 2007/12/30(日) 08:54:36ID:??? さて、正式版がリリースされたけど、みんなつかってみた? : NAME IS NULL [sage] 2007/12/30(日) 21:48:37ID:??? ダウンロードしただけ… しかもインストール不可版もダウンロードしてしまった ^^; : sage [] 2008/01/03(木) 20:30:05:bzPXLKTk ScottGuさんのブログ読みながら、使ってみた。 なかなか使いやすいんではないかな。 : NAME IS NULL [sage] 2008/01/26(土) 11:03:58ID:??? 「手っ取り早く LINQ to SQL」の威力を認識するための「テストコード」 手っ取り早く LINQ to SQL を試すためのテストコード - NyaRuRuの日記 ttp://d.hatena.ne.jp/NyaRuRu/20071219/p4 : NAME IS NULL [age] 2008/02/07(木) 01:13:04ID:??? 保守しときますね。 : NAME IS NULL [age] 2008/02/24(日) 18:20:19ID:??? 保守 : NAME IS NULL [age] 2008/03/09(日) 10:20:50ID:??? マ板に統合した方が言いのかな? っていうか、何でDB板は全体的に過疎ってるんだ? : NAME IS NULL [] 2008/03/14(金) 21:03:18:Img3hY0C LINQ to SQL はみなさん思い思いにSQL発行しまくって 完全な無法地帯になりそうで危険な悪寒… あとSQLが自動生成されると、パフォーマンスチューニングがしづらそうだが 本当に大丈夫か? : NAME IS NULL [] 2008/03/21(金) 07:54:16:axh5x7MB ウィザードによって生成されたSQLって、 自分の思い通りじゃなかったりするもんな。 で、結局は信頼性に欠けるということで、 自分で手修正してることはあるな。 だから俺はまだLINQそのものを使ってないな。 : NAME IS NULL [age] 2008/04/04(金) 00:46:03ID:??? age : NAME IS NULL [sage] 2008/04/05(土) 00:22:42ID:??? O/Rの出力SQLを例と見ると・・・ : NAME IS NULL [age] 2008/04/30(水) 20:13:18ID:??? 保守 : NAME IS NULL [sage] 2008/05/02(金) 22:11:55ID:??? そもそも対象になる製品が限られている=ユーザー数の裾野が狭い っていうのと学生はデータベース触らない っていう2ちゃん的に盛り上がれる要素が少ないからだと思われ ム板みたいに速度チューンネタや言語速度比較みたいなのも データベースの場合は「場合による」で終わっちゃうし それにみんな本当はDBあまり好きじゃないんだ・・・・趣味でやるほどには・・・・ : NAME IS NULL [age] 2008/05/03(土) 23:06:16ID:??? なるほどね。 確かにデータベースは余り面白くないものかも。 AccessやLAMPが出るなどして、スタンドアロンでも出来るようになって 大分一般的なものになってきたように思うんだけどな。 まだまだなのかな。 : NAME IS NULL [sage] 2008/05/03(土) 23:12:10ID:??? 仕事で触るの好きだけど 家ではディスクのインデックスでも作っといてって感じだな : NAME IS NULL [sage] 2008/05/04(日) 12:17:22ID:??? おまらDBの世界に足突っ込んだきっかけ何? : NAME IS NULL [] 2008/05/26(月) 00:16:16:YQBkMqiw DB Magazine 誌 2008/07 に LINQ 記事↓ 特別企画『マイクロソフトの最新統合クエリ言語「LINQ」を試す』 : NAME IS NULL [sage] 2008/06/17(火) 08:09:51ID:??? 先輩や先生の関係かな。 ま、半ば選択の余地がなくて強制って感じw 凄く嫌だとか抜け出したいとかは思ったことは無いけれど。 : NAME IS NULL [sage] 2008/08/13(水) 21:52:29ID:??? 保守しときますね : NAME IS NULL [sage] 2008/08/13(水) 22:48:00ID:??? ありがとう : NAME IS NULL [] 2008/08/13(水) 23:27:42:98mcGyPk Linqは何かのついでに使うことはあっても、 あらたまってこれについて語れって言われても思い浮かばないんだよな。 それはそうと、 .NET 3.5 SP1でADO.NET Entity Frameworkが追加になってけどどうよ? : NAME IS NULL [sage] 2008/08/14(木) 03:49:39ID:??? Linq to SQLとLinq to Entityの住み分けがわからない。 統合するのか、それぞれ存続させるのか? : NAME IS NULL [sage] 2008/08/28(木) 21:11:13ID:??? え?また何か機能追加になったわけ? : NAME IS NULL [] 2008/09/09(火) 23:15:07:nHQ+Csrx APサーバとDBサーバが別れてたら、 LINQのクエリだと結果集合を毎回APサーバまで引っ張ってくるのか? 一発で絞り込めるクエリにしないと簡単に帯域ぶっちぎって パフォーマンスダメダメになりそうだな。 : NAME IS NULL [sage] 2008/09/09(火) 23:18:12ID:??? ( ゚д゚)ポカーン : NAME IS NULL [sage] 2008/09/10(水) 12:00:46ID:??? ( ゚д゚)ポカーン : NAME IS NULL [sage] 2008/09/11(木) 23:01:09ID:??? LINQで実際にSQLが実行されるのは : NAME IS NULL [sage] 2008/10/20(月) 20:02:04ID:??? LINQを真似した仕様を他の言語が作ったりしないのかなぁ : NAME IS NULL [sage] 2008/10/20(月) 21:16:19ID:??? こっちにもちょっと書いてあるけどさ。 ttp://pc11.2ch.net/test/read.cgi/tech/1202568694/ 言語仕様としてのサポートが無いと、LINQほどスマートにはいかないよねぇ。 : NAME IS NULL [sage] 2008/11/04(火) 02:19:43ID:??? ま、新しい技術だということで、調べはしたけれど、LINQについては 特に急いで習得する必要性がなさそうだと思った。 これで書かれたプログラムを読まなければいけない状況も当分の間は なさそうだしね。 配列のデータを扱う時、DataTableのデータを扱う時、ADO Recordsetで 接続してデータを扱う時は、すべてコードの書き方が異なっているので、 それぞれのやり方を覚えなおすよりも統一した方がプログラマにとっては 助かるので、方向性としてはLINQのようなものになるのは分かるが、 いまはまだVer1なわけなので、さらにまた言語仕様が変わっていくような 気がする。 過去のものを見るとVB.NETそのものが方向性を模索してるようなところが あったしね。オブジェクト指向を強く出してVB6の要素を切り捨てたが、 ユーザがついてこなかったため、VB6よりに作り直したとか。 しばらく様子見かな。 : NAME IS NULL [sage] 2008/11/10(月) 23:23:40ID:??? LINQで処理を統一しようという考えは分かるが、 ストアドプロシージャをVBA(Likeな)構文で書けるとか そういう方向の統一性ってないのかなぁ? なんか、ばらばらしとるよな。同じ会社の言語であっても。 買収したんだから仕方が無いという理屈は無しでw : NAME IS NULL [] 2008/11/12(水) 21:10:34:RK8b64q5 LINQの限界ってあるんですかね? たとえばSQLだと集計と自己結合を駆使して費用の按分処理(端数の補正あり)とかを 6階層ぐらいネストさせれば一発でかけるんですが、 こうゆう処理はとか余裕でできるのかな? : NAME IS NULL [sage] 2008/12/15(月) 01:52:57ID:??? 保守 : NAME IS NULL [sage] 2008/12/29(月) 08:00:53ID:??? 保守 : NAME IS NULL [sage] 2009/01/04(日) 10:01:38ID:??? LINQの大幅仕様変更は2009-2010あたりに行われるって解釈でおk? これは新たな機能追加ではなく、不評であったため、改めるというやつ。 : NAME IS NULL [sage] 2009/01/09(金) 05:06:39ID:??? 何をどうしたいのかがわからんが数値処理なんて余裕だろ。 : NAME IS NULL [age] 2009/01/18(日) 23:35:33ID:??? 保守 : NAME IS NULL [age] 2009/02/01(日) 13:52:27ID:??? 保守 : NAME IS NULL [age] 2009/02/08(日) 16:13:19ID:??? ageときます : NAME IS NULL [age] 2009/02/12(木) 07:40:04ID:??? LINQの次はどんなものが想像できるかな? : NAME IS NULL [age] 2009/03/04(水) 18:25:38ID:??? LINQって、javaとかに移植されるのかな? その場合、思想だけかな? それとも、MSがモジュール提供かな? : NAME IS NULL [sage] 2009/03/05(木) 02:34:32ID:??? ODBMS規格化界隈ではJavaにLINQ入れてもらうためにJSR書くか〜 なんて話はあったみたいだよ。今どうなっているかは知らないけど。 : NAME IS NULL [age] 2009/03/11(水) 20:26:11ID:??? LINQも大分日本語のドキュメントが出てくるようになったな。 当時見えてなかったモットーや概要が見えてくるようになった気がする。 : NAME IS NULL [age] 2009/04/04(土) 11:32:26ID:??? 特集:C#プログラマーのためのLINQ超入門(前編) LINQ(リンク)の基礎知識 ttp://http://www.atmarkit.co.jp/fdotnet/special/cslinq01/cslinq01_01.html LINQの使い方に限らず、モットーも説明したわかりやすい 解説が出てくるようになったな。 : NAME IS NULL [sage] 2009/04/04(土) 21:20:00ID:??? 読んだけど超入門というだけあって初心者向けだね。 わかりやすくて良かったです。 : NAME IS NULL [age] 2009/04/05(日) 16:42:31ID:??? @ITの記事で、LINQのメリットについて書かれている記事があったので、紹介しておく。 ttp://http://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_09/csharp30_09_02.html 以下、記事の抜粋 > LINQ to SQLは、SQL Serverの知識を持たずにプログラムを記述可能とする魔法のつえではない。 > LINQ to SQLが常に最も効率的なクエリを生成してくれるわけでもない。 > それにもかかわらず、筆者はLINQ to SQLを「救いの神」と見る。 > その理由は、この構造がアセンブラに対するC言語のはやりとよく似た構造を持っているからだ。 > LINQ to SQLも同様に、支払うものよりも得るものが圧倒的に多いという理由で利用する価値があると考える。 C言語よりも、処理効率の悪いjavaやVBの方が多くつかわれる傾向があるからLINQも 流行るだろうという考え方のようだが、それが出てから一般的に普及するまでに 時間がかかっていることも考えると、「LINQが使える」と言えるようになるまでに まだまだ期間が必要だろうな。M$独自のバージョンアップ&仕様変更も考慮すると、 必ず使えるようになるような代物になるとは限らないとも感じる。 : NAME IS NULL [sage] 2009/04/05(日) 21:39:46ID:??? LINQはVB厨には理解できないと思うんだ。 : NAME IS NULL [sage] 2009/04/05(日) 22:42:40ID:??? LINQというよりラムダ式が。 : NAME IS NULL [sage] 2009/04/05(日) 22:43:44ID:??? Inside LINQ…っというか、Inside ExpressionsみたいなものをPlease Me。 : NAME IS NULL [age] 2009/05/25(月) 20:34:44ID:??? ほしゅん : NAME IS NULL [] 2009/07/02(木) 23:37:05:pHeJV8Wt 保守 : NAME IS NULL [age] 2009/07/21(火) 14:56:32ID:??? a : NAME IS NULL [sage] 2009/08/02(日) 02:35:12ID:??? 筆者は信者みたいなもんだしなぁ・・・ 適材適所だろ 書いてることもこじつけて書いてる感じの部分もあるし でも、判り易さは認める まだ案件に2000の可能性とかがある環境で3.5とか使えないし orz : NAME IS NULL [sage] 2009/09/01(火) 20:19:43ID:??? を見て俺はいつのまにこのスレに来たのかと思った でも、うちはまだ後数年は2.0なんだろな : NAME IS NULL [] 2009/10/28(水) 16:26:50:f26y7In1 【画像あり】「同級生の女の子に頼んでみた」中学生ハメ撮りAVが流出 ★14 ttp://yutori7.2ch.net/test/read.cgi/news4vip/1256707678/ 602325439453124 : NAME IS NULL [sage] 2009/11/13(金) 21:47:46ID:??? LINQは便利なのかもしれないけれど、必須じゃないからなぁ。 どうも飛びつこうという気持ちが湧かない。 : NAME IS NULL [age] 2009/11/22(日) 20:26:13ID:??? こういうの(LINQ)を見ていると、 SQL文 って HTML みたいに、 多くの人が読み書き出来て当たり前みたいなものになっていくのかな とか感じる。 : NAME IS NULL [sage] 2009/11/22(日) 21:08:57ID:??? もともとSQL自体、プログラマ以外の人が自分で検索できるよう 自然言語に似せて作られたものだし。 : NAME IS NULL [sage] 2009/11/23(月) 09:29:23ID:??? それは知らなかった。 : NAME IS NULL [sage] 2009/11/23(月) 11:27:54ID:??? まるでCOBOLだな。 (注:COBOLが開発された当時、プログラマの人は機械語か せいぜいアセンブラでプログラミングをしていました) : NAME IS NULL [sage] 2009/12/01(火) 19:05:15ID:??? だがしかし、LINQはCOBOLのように多数の人が使うほどのものになるのだろうかw : NAME IS NULL [] 2009/12/15(火) 01:05:45:CuH+Nsle Linqは流行らないだろうな。 やっぱSQLを超える柔軟性のある考えをMSは考えて欲しいな : NAME IS NULL [sage] 2009/12/21(月) 22:05:48ID:??? まあDBからの取得はSQL文直接書いたほうが手っ取り早いにしても LINQはDBからの取得だけじゃないし使い道はある : NAME IS NULL [sage] 2010/04/23(金) 12:40:09ID:??? SONY→SQNY LINQ←LINO : NAME IS NULL [sage] 2010/06/10(木) 09:12:38ID:??? チャーリーウィラポンが取材してたな : NAME IS NULL [age] 2010/09/11(土) 12:58:53ID:??? LINQ覚えるのめんどい : NAME IS NULL [] 2010/09/11(土) 22:01:48:qdKzTXTB 確かにSELECTから始まらないし、UPDATEとDELETEがないもんなぁ : NAME IS NULL [age] 2010/11/22(月) 18:38:06ID:??? あと1年くらい様子を見た方がいいのかな。 それで、日本語ドキュメントが充実したら時代的に必須ってことでw (単なる俺の直感だけど、)Rubyみたいに互換性が低いので大きくは 広まらないが、その使い勝手の良さから、長く生き残り続けはする みたいになりそうな気がしている。 : NAME IS NULL [sage] 2010/11/24(水) 11:18:17ID:??? 逆に見ると、もしRailsのようなキラーフレームワーク/アプリケーションが登場すれば、 爆発的な普及が始まる、ってことかな : NAME IS NULL [sage] 2010/11/26(金) 09:32:13ID:??? どこまで、閉鎖的・独占的な手法を辞めて、開放的な手法にするかってこと によるってことかな : NAME IS NULL [] 2011/06/27(月) 20:02:53.77:KJKcL+bn あ : NAME IS NULL [sage] 2011/08/04(木) 13:15:22.31ID:??? てst : NAME IS NULL [] 2011/10/20(木) 19:27:24.67:6bcITUKu さいきん オブジェクト指向データベース って言葉を全然聞かないなぁ : NAME IS NULL [sage] 2011/10/22(土) 01:30:45.92ID:??? ぱっと見で何が入ってるかわからないのは痛い : NAME IS NULL [] 2011/10/22(土) 06:51:43.23:7yvAizZh 所詮はオブジェクトDBなんて夢だったんだよ RDBの完全勝利 : 忍法帖【Lv=5,xxxP】 [] 2011/10/24(月) 18:46:24.13:H2Q5zkCn aaa : NAME IS NULL [] 2011/10/27(木) 08:33:27.28:VqqPO7vL 一年たったが 結論出たか?w : 忍法帖【Lv=6,xxxP】 [] 2011/10/28(金) 03:17:48.42:M79UdWtH あああ : NAME IS NULL [sage] 2011/11/08(火) 11:09:26.78ID:??? まだ1年経ってない : NAME IS NULL [] 2011/11/08(火) 11:20:52.70:OK3IK3VA 誰も使ってない : NAME IS NULL [] 2012/01/08(日) 21:28:06.96:3sZXzeSk k : NAME IS NULL [sage] 2012/01/30(月) 05:00:47.27ID:??? LINQの方は、むしろ使ってないやつは生きた化石だけどな 言語の一部というより、半身といっていい存在 : NAME IS NULL [sage] 2012/02/02(木) 23:06:32.21ID:??? LINQ使ってるやつは珍種 : 電脳プリオン 【関電 60.6 %】 【15.2m】 [sage] 2013/10/14(月) 00:11:18.95ID:??? もう搭載された? : NAME IS NULL [sage] 2014/01/26(日) 16:34:05.32ID:??? ( ・ิω・ิ) : 名無しさん@お腹いっぱい。 [sage] 2014/09/11(木) 15:05:56.57ID:??? ttp://http://myfirstbig.jp/ : NAME IS NULL [] 2016/04/22(金) 16:47:27.94:8A+NqVVB 【T-nsSOWLから重大発表】 T-nsSOWLでは4/29(金)19:00より安倍政権の退陣を求める毎週金曜日国会前抗議を行います。 自分たちは思考しそして行動します。自分たちの将来を自分たちで取り戻すため声をあげます。 日本から始まる世界的株式市場の大暴落 日本がアメリカ国債の25%を引き出すと世界経済が破綻し、マイト★レーヤは出現するでしょう。彼は「匿名」で働いております。 非常に間もなくマイト★レーヤを、テレビで見るでしょう。マイト★レーヤは毎日テレビに現れ、質問に答えるでしょう。 彼は日本人ではありませんが、日本語で話すでしょう。彼は、非常に物静かなやり方で話します。 彼の最初の控えめな態度に混乱してはなりません。マイト★レーヤが公に現れるにつれて、UFOが姿を表すでしょう。 最初になくなるのは世界の株式市場でしょう。 差し迫る株式市場の暴落は、他の人々が飢えている間にお金を儲けることの結果です。かれらは自分の財産を隠し、そして犯罪的雰囲気さえも創出しています。 新政権は民意を反映し、先に食物と住宅、次に健康と教育、最後に防衛です。国民を裏切ると、自殺につながります。 アメリカによる他国の虐待に反対の声を上げなければなりません。 世界平和の脅威は、イスラエル、イラン、アメリカです。イスラエルの役割は跪いて、パレスチナに許しを請うことです。 彼らは今世紀(21世紀)をこの帝国が出来上がるアメリカの世紀と呼ぶ。しかし、そうはならないでしょう。 彼らが世界中に‘民主的’制度を確立したいという衝動をコントロールするのは、マイト★レーヤの任務です。 マイト★レーヤは原発の閉鎖を助言されます。 日本もさらに多くの原子力発電所を作ろうとしています。多くの人々が核の汚染の影響で死んでいるのに、彼らは幻想の中に生きています。 マイト★レーヤの唇からますます厳しい警告と重みが発せられることを覚悟しなさい。彼はいかなる人間よりもその危険をよくご存じです。 : NAME IS NULL [] 2017/12/29(金) 12:06:39.35:dtNZwIie 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 OIOSGUXZSU
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキング が作成したキャッシュです。元のページはこちら 。削除についてはこちら 。