板検索:
オブジェクトデータベース LINQ, DLinq のスレ (155)
まとめビュー
1
NAME IS NULL[]   投稿日:2007/03/14 23:01:25  ID:sT4riy5n(2)
マイクロソフトのコードネーム Orcas に搭載予定のオブジェクトデータベースを
実現する、言語統合クエリ(LINQ Language integrated query)
DLINQ (LINQの実装) などについて語り合いましょう。


2
NAME IS NULL[]   投稿日:2007/03/14 23:04:10  ID:sT4riy5n(2)
まだ日本語の文献はほとんど無いような状況だけど。

The LINQ Project
http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx

3
NAME IS NULL[sage]   投稿日:2007/03/15 00:00:55  ID:???(125)
これって要するにソースの中にSQLを書きやすくするだけなのね

4
NAME IS NULL[sage]   投稿日:2007/03/15 13:06:04  ID:???(125)
SQLがコンパイル時にチェックされるのはいいことだねー

5
NAME IS NULL[sage]   投稿日:2007/03/15 15:15:04  ID:???(125)
VBでデータベースプログラミングに触れたばかりのころ、
SQL文を文字列変数に代入して、それをオブジェクトに渡して、
っていう処理にすごく違和感があって入りにくかったのを思い出した。

今はその書き方に慣れてしまったので、逆にLINQに違和感を感じているw
でも、配列もテーブルと同じような操作が出来ないかなと感じたことは
あったので、設計やコーディングが楽になるかもしれないと期待している。

でも、初期バージョンは安定しないんだろうね。
コメント1件

6
NAME IS NULL[sage]   投稿日:2007/03/15 18:23:37  ID:???(125)
オブジェクト指向なので、構文の書き方が変わるだけでなく、
データベースのテーブルの構築の仕方そのものが変わっていくことになる。

オブジェクト指向でデータを格納するプログラミングは書いてみたいと
思っていたので、今回のバージョンアップには期待しているが、
C#みたいに、現実にはあまり移行してくれなかった、なんて事になる可能性もあるだろうね。

7
NAME IS NULL[sage]   投稿日:2007/03/15 22:50:34  ID:???(125)
strSQL = "SELECT * "
strSQL = strSQL & "FROM PARIS;"

数行ならともかく10行以上のSQLをこうやって
羅列してるVBって恥ずかしくないの?
コメント2件

8
NAME IS NULL[sage]   投稿日:2007/03/15 23:00:03  ID:???(125)
英語の文献に、SqlDataAdapter( の後10行以上書いているサンプルコードもあるので、
これは恥ずかしいということではないんだと思う。

9
NAME IS NULL[sage]   投稿日:2007/03/16 13:06:22  ID:???(125)
>7
じゃ、どうすんの?

10
NAME IS NULL[sage]   投稿日:2007/03/16 13:20:47  ID:???(125)
>7,9
strSQL = "SELECT * " & _
"FROM PARIS;"
のほうが連結がコンパイル時に解決されるので効率が良い。
コメント1件

11
NAME IS NULL[age]   投稿日:2007/03/17 09:31:45  ID:???(125)
ドキュメントを読んでいて疑問に思ったところ

The LINQ Project
http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx
dlinq_overview_for_vb_developers.doc の4ページ目
> ' DataContext takes a connection string
> Dim db As DataContext = New DataContext("c:\...\northwnd.mdf")
> ' Get a typed table to run queries
> Dim Customers As Table(Of Customer) = db.GetTable(Of Customer)()

ADO.NETでいう、ConnectionオブジェクトやDataAdapterオブジェクトを
宣言して接続する一連の操作が、LINQではDataContextを宣言して、
定義したクラスにGetTableに読み込むという手順に変わったよ、という
旨の文章のところだけど、mdfの場所をフルパスで指定している
理由が分からない。mdbならファイルなのでフルパス指定だと思うけれど、
mdfはフルパス指定じゃなくて、SQLサーバ名とデータベース名の指定
にするべきだと思う。

この理由分かる方いらっしゃいますか?
コメント1件

12
NAME IS NULL[sage]   投稿日:2007/03/18 00:06:37  ID:???(125)
>10
それだとインデントの関係でSQLが見づらい

13
NAME IS NULL[sage]   投稿日:2007/03/22 15:40:05  ID:???(125)
ADO.NETの場合でも、ConnectionクラスのDataSourceプロパティを設定すれば
mdfファイルのフルパス指定で接続も可能なようだ。こういうコードの書き方はあまり
しないと思うけれど。

http://www.microsoft.com/japan/msdn/thisweek/10lines/vs2005/adonet_dat...
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpref/...

14
NAME IS NULL[sage]   投稿日:2007/03/28 19:10:29  ID:???(125)
DLinq になってもデータベースのほうはオブジェクト指向データベースではなく、
従来のRDBなんだよね。
同時にサーバのリリースもあって、そういう設計が出来るのであれば、
画期的なんだろうけど。ま、しばらくの間はRDBにDLinqで接続となるのかな。
そうなると、設計とかややこしくなる気がする。
テーブルを設計して、サーバにテーブルをつくり、それを読み込むオブジェクト
データベースを設計して、クライアントのプログラムを作るというやり方になる
わけでしょ。

15
NAME IS NULL[]   投稿日:2007/04/14 23:48:51  ID:KVvAWn/O
>11
サンプルの一部から持ってきたからでしょ。
サンプルのプロジェクトをアーカイブして配布する時に、
その中にmdfを含めて、そのまま実行してもらえるし。

16
NAME IS NULL[sage]   投稿日:2007/04/24 01:17:13  ID:???(125)
まだwebが日本語訳が出ないのか。

17
NAME IS NULL[]   投稿日:2007/04/28 10:47:06  ID:Y89Kcy0c
DLINQっていつ使うべき?
DataSetでいいじゃん。

コメント1件

18
NAME IS NULL[sage]   投稿日:2007/04/29 12:16:41  ID:???(125)
       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       | 虚塵(笑)、お外に出た途端に負けますた!
       \
          ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                   ∧_∧      / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
         ∧_∧     ( ´Д` )    <  インチキ先発の一角鬱身が6失点!初黒星おめでとう!
         ( ´Д` )   /⌒    ⌒ヽ    \______________
        /,  /   /_/|     へ \
       (ぃ9  |  (ぃ9 ./    /  \ \.∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        /    /、    /    ./     ヽ ( ´Д` )<  無駄なソロ空砲3発が惨めさを引き立てますた!
       /   ∧_二つ (    /      ∪ ,   /   \______________
       /   /      \ .\\     (ぃ9  |
      /    \       \ .\\    /    /  ,、    ((( )))  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     /  /~\ \        >  ) )  ./   ∧_二∃    ( ´Д` ) < GWとはGiants Weakの略!連休中全敗確実!
     /  /   >  )      / //   ./     ̄ ̄ ヽ    (ぃ9  )  \_____________
   / ノ    / /      / / /  ._/  /~ ̄ ̄/ /   /    ∧つ
  / /   .  / ./.      / / / )⌒ _ ノ     / ./    /    \   \(゚д゚) (゚д゚) アオキ、ラミレス、シロイシ、 GJ!ミヤモトモナイスモウダショウ!!フジイモナイスピッチング!
  / ./     ( ヽ、     ( ヽ ヽ | /       ( ヽ、   / /⌒>  )    (  )−'(  )ヽ
(  _)      \__つ    \__つ).し          \__つ (_)  \_つ     / >   .>> (・∀・) クサレキョウダンハ、ハヤクシテイセキノサイカイニカエレ!!


19
NAME IS NULL[sage]   投稿日:2007/04/29 19:52:00  ID:???(125)
>17
コードをかけば、自動的にDataSetが内部で呼び出され、操作されるというものだよ。
でも、「DataSetなんて重くて使わないよ。おれはDataTableを使っているよ」という
人にとっては、嫌われるものかもしれない。

ちょうど、VBが重くて使えない、みたいな物と同じ話なのかな。
コメント1件

20
NAME IS NULL[sage]   投稿日:2007/05/10 16:38:41  ID:???(125)
Linqってどう発音すりゃいいの?
コメント1件

21
NAME IS NULL[sage]   投稿日:2007/05/11 23:22:39  ID:???(125)
>20
区別する時は、リンキュー。もしくは、データベース リンク
そうでないときは、普通に、リンク
と、自分の頭の中で発音してたがw

22
17[]   投稿日:2007/05/12 17:00:42  ID:zjVk1Yku
>19 亀レスで申し訳ない

その辺は分かっているつもりなんだけど、
Linq To SQL でクラスを生成して、それを後からソースの内部で使うよね。
でも、型つきDatasetでも.xsdを事前に生成して、それを後からソースで使う。
結局同じような事を、違ったテクニックで行えるようになった訳で、あえてLinqを使う意味が良くわからない。
もちろん、SQL文みたいなものが、C#やVBとして記述ができるので、コンパイル時にエラーが出てくれるとか、
SQLインジェクションなんかが起こりにくい、と言うメリットは分かるんだけど、
正直それだけの為に、言語拡張までして対応した意味が不明なのです。
コメント1件

23
NAME IS NULL[sage]   投稿日:2007/05/19 18:22:51  ID:???(125)
>22
TableAdapterを使うものが、.xsdを事前に生成して・・・にあたって、
DataAdapterを使うものが、Linqを使ってコーディング・・・にあたるということ
だと解釈している。
この違いは、「前者は、ADO.NETではない。」ということ。

Win環境での開発だと違いが分からないが、そうでないところで開発する時に
影響するというものなのかも。

24
NAME IS NULL[sage]   投稿日:2007/05/27 20:49:49  ID:???(125)

25
NAME IS NULL[sage]   投稿日:2007/06/05 20:49:33  ID:???(125)

26
NAME IS NULL[sage]   投稿日:2007/06/16 21:57:44  ID:???(125)

27
NAME IS NULL[sage]   投稿日:2007/06/20 11:59:57  ID:???(125)

28
NAME IS NULL[sage]   投稿日:2007/06/25 06:42:49  ID:???(125)

29
NAME IS NULL[sage]   投稿日:2007/06/28 23:58:02  ID:???(125)

30
NAME IS NULL[sage]   投稿日:2007/07/06 21:19:42  ID:???(125)

31
NAME IS NULL[sage]   投稿日:2007/07/13 18:59:43  ID:???(125)

32
NAME IS NULL[sage]   投稿日:2007/07/21 22:02:48  ID:???(125)

33
NAME IS NULL[sage]   投稿日:2007/08/05 16:32:17  ID:???(125)

34
NAME IS NULL[sage]   投稿日:2007/08/10 23:06:53  ID:???(125)

35
NAME IS NULL[sage]   投稿日:2007/08/21 21:59:29  ID:???(125)

36
NAME IS NULL[]   投稿日:2007/08/22 23:04:52  ID:OnbyGxiw
TechEdでLINQのことをいっぱい説明してたよ
…って、このスレって見てる人いるのかな?

37
NAME IS NULL[sage]   投稿日:2007/09/06 21:15:47  ID:???(125)
一応保守しておきます。
スレを立てるのが早すぎたのかもね。。。
コメント1件

38
NAME IS NULL[sage]   投稿日:2007/09/08 20:42:28  ID:???(125)
>37
さんくす。見てる人いたのね^^

39
NAME IS NULL[sage]   投稿日:2007/09/10 08:18:20  ID:???(125)
保守が定期的にあるんだから見てる人はいるってことでしょw

40
NAME IS NULL[]   投稿日:2007/09/10 14:13:59  ID:2yKR6fdI
DLinqはLinq構文ばかり注目されてるけど、ORMでもあるのだよな。
DLinqのORMとしての評価はどうなのだろう。

41
NAME IS NULL[sage]   投稿日:2007/09/12 01:47:29  ID:???(125)
オブジェクトデータベースなんてスレタイに入れるから人が寄りつかねーんじゃねーの?

コメント1件

42
NAME IS NULL[sage]   投稿日:2007/09/12 03:40:37  ID:???(125)
「オブジェクトデータベース」とはちょい違うよな。
DBに被せるレイヤとかラッパって感じ。
コメント1件

43
NAME IS NULL[sage]   投稿日:2007/09/12 16:11:23  ID:???(125)
>41>42
テンプレも含めた案をお願いします。


私は、これからの流れとして、「オブジェクトデータベース」を
つけたほうが良いと解釈していたのですが。

44
NAME IS NULL[sage]   投稿日:2007/09/12 19:54:37  ID:???(125)
オブジェクトデータベースといったら普通はOODBで、ORMはOODBではない。
いまのところサポートしてるのはSQLサーバーだけだし。

45
NAME IS NULL[sage]   投稿日:2007/09/12 20:09:56  ID:???(125)
オブジェクトデータベースなんて十数年前にその実力以上に妙に
持ち上げられて、RDBの次はODBだなんて言われたこともあるけど、
今じゃ落ち着くところに落ち着いただろ。
「これからの流れ」というより、うさんくさい目で見られる可能性の方が
高いと思うけどねぇ。数年前のXML-DBとおんなじで。

それはともかく、LINQが想定しているのはリレーショナルモデルだから
オブジェクトデータベースとは違うと思うよ。
どちらかというと、3GL埋め込みSQLを今風にOO言語をホスト言語に
してみたらこんなんできましたぁ、ってところだよね。

46
NAME IS NULL[sage]   投稿日:2007/09/13 23:11:01  ID:???(125)
単純なラッパーではないということだが
コメント1件

47
NAME IS NULL[sage]   投稿日:2007/09/14 07:22:27  ID:???(125)
で、スレタイはどうしたらよいの?
コメント1件

48
42[sage]   投稿日:2007/09/14 08:18:38  ID:???(125)
>46
ラッパーではないっていうのは、「厚み」の問題? もっと根本的に違うとか?

>47
この調子じゃあ、どう見積もっても次のスレタイを考えるまでに十分な時間がある。
LINQとは何か、結論出てからでいいんじゃね?
LINQってMSの日本語訳によれば、「 .NET 統合言語クエリ」だから、まあそんなとこ
なんじゃね?
コメント1件

49
NAME IS NULL[sage]   投稿日:2007/09/14 23:25:50  ID:???(125)
じゃ、とりあえず次スレのタイトルおよびテンプレ案を書いておきます。

「.NET 統合言語クエリ LinQ DLinq のスレ」


マイクロソフトのコードネーム Orcas に搭載予定のオブジェクトデータベースを
実現する、言語統合クエリ(LINQ Language integrated query)
DLINQ (LINQの実装) などについて語り合いましょう。

The LINQ Project
http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx

コメント1件

50
NAME IS NULL[sage]   投稿日:2007/09/14 23:57:19  ID:???(125)
人の話聞かねぇ香具師だな

51
NAME IS NULL[sage]   投稿日:2007/09/15 01:55:02  ID:???(125)
聞いてるじゃないかw

52
NAME IS NULL[sage]   投稿日:2007/09/15 22:38:44  ID:???(125)
Linqって、NHibernateのCriteriaみたいなもの?

マッピング情報をXMLに書き出さなければならない点で、
DLinqはNHibernateに負けているような希ガス。

MSは、こんなものを実装する前に、
ADO.NETドライバの仕様を弄って、
NHibernateを使えなくしたほうが良くねw

53
NAME IS NULL[sage]   投稿日:2007/09/16 13:40:20  ID:???(125)
DLinqで使ってるExpression型のLinq構文はCriteriaみたいなものであってる。
普通のLinqで使ってるdelegate型のLinq構文は別物。
マッピング情報は属性(アノテーション)に書き込むタイプ。
開発の手順はDBのスキーマからdbml(xml形式)のファイルを生成。
必要に応じてdbmlを変更。dbmlから属性付きデータクラスを生成となる。
ADO.NETのDataSetと同じで実行時にxmlファイルを参照するわけではない。
コメント1件

54
NAME IS NULL[sage]   投稿日:2007/09/17 01:18:03  ID:???(125)
>48
聞きかじりなので詳しくは分からないんだけど、
ぱっと見で単なるラッパーのようだが目指すところはそれだけではないとのこと
なので、ラッパーだと思ってスルーしている人も
情報収集しておいた方がいいかも?って感じかな

>49
大文字小文字の使い分けは意味がある?
LINQは全部大文字なのでは?違うのかな… orz

>53
dbmlファイルってRDBMS使うときの過渡的なものだっけ?
まぁ、SELECTしかできないらしい最初のバージョンは使いづらいかも
コメント1件

55
NAME IS NULL[sage]   投稿日:2007/09/17 01:40:25  ID:???(125)
>54
全部大文字(現行スレのタイトル)が正しいです。
ミスでした。(^^;

56
NAME IS NULL[]   投稿日:2007/09/17 06:07:39  ID:XYLLhqYU
LINQはさて置いてもDLinqはまだあんまり知られてない感じだから、
ここでデモプロ1本作ってみるよ。数回の連載になるけど過疎ってるから勘弁な。

とりあえず環境はSQL2005Express+.NET3.5日本語Betaでおkすよ。VS2008なしでいける。

まずはDBを作ります。ShopとCustomerで1:nの関係。
sqlcmd -S .\sqlexpress
接続できたら
create database DLinqDemo
go
use DLinqDemo
go
create table Shop (ID char(4) primary key, Name nvarchar(10))
create table Customer (ID int primary key identity,
  ShopID char(4) references Shop(ID), Name nvarchar(20))
go

今後このデータベースが不要になったらsqlcmdで次のコマンドをたたけば消せます。
drop database DLinqDemo

コメント1件

57
56[sage]   投稿日:2007/09/17 06:21:27  ID:???(125)
.NET3.5日本語Beta2だけでやるときは3.5と2.0の両方にパスが通ってなきゃいかんので注意。
Path=C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;%PATH%

コマンドプロンプトからSqlMetalコマンドを実行します。
sqlmetal /server:.\sqlexpress /database:DLinqDemo /dbml:DLinqDemo.dbml /namespace:demo
userdb.dbmlを編集。ただし今回は編集の必要なし。
もし共用のDBを使ってるなら全ユーザーテーブルが入ってるのでいらないのは削除。

データクラス+マッピング属性のDLinqDemo.csを生成。
DLinqDemo.csはデータベースから直接も作れるのだけど2段階に分けたほうが後々便利。
sqlmetal /code:DLinqDemo.cs DLinqDemo.dbml

コメント1件

58
56[sage]   投稿日:2007/09/17 06:46:20  ID:???(125)
以下が基本形でDemoListのようなstaticメソッドが今後増えてくる塩梅です。
コンパイルは cs /o demo.cs DLinqDemo.cs

// demo.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;

namespace demo {
 class Demo {
  static readonly string conn = 
    @"Data Source=.\sqlexpress;Initial Catalog=DLinqDemo;Integrated Security=SSPI";
  static bool logFlg = false;
  static void Main(String [] args) {
    logFlg = args.Length > 0;
    DemoList();
  }
  static void DemoList() {
   using(DLinqDemo dc = new DLinqDemo(conn)) {
     if (logFlg) dc.Log = Console.Out;
     var qr = from c in dc.Customer select c;
     var rs = qr.ToList();
     foreach (var r in rs)
       Console.WriteLine("{{ {0}, {1}, {2}, {3} }}",
         r.ID, r.Name, r.Shop.ID, r.Shop.Name);
     var rs2 = from c in dc.Customer join s in dc.Shop
                on c.ShopID equals s.ID
                orderby s.ID, c.ID
                select new { ID = c.ID, Name = c.Name, ShopID = s.ID, ShopName = s.Name };
     foreach (var r in rs2) Console.WriteLine(r);
   }
  }
 }
}

59
56[sage]   投稿日:2007/09/17 07:03:34  ID:???(125)
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]);
   }
  }

60
NAME IS NULL[sage]   投稿日:2007/09/17 07:10:20  ID:???(125)
データの登録。
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();

61
56[sage]   投稿日:2007/09/17 07:13:35  ID:???(125)
最後は変更や削除の例。ちょっと意味不明な処理だがあくまでもデモ用としてみてくれ。

  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();
   }
  }

長々とすまなかった。以上だ。

62
NAME IS NULL[sage]   投稿日:2007/09/22 22:01:44  ID:???(125)
>56
デモプログラムサンクス。
ちなみに何処の解説を参考にして書いたの?

63
NAME IS NULL[sage]   投稿日:2007/10/04 07:53:43  ID:???(125)
sage

64
NAME IS NULL[sage]   投稿日:2007/10/22 07:46:22  ID:???(125)
sage

65
NAME IS NULL[sage]   投稿日:2007/11/08 19:37:33  ID:???(125)
さげ

66
NAME IS NULL[sage]   投稿日:2007/11/12 23:42:16  ID:???(125)
sage

67
NAME IS NULL[age]   投稿日:2007/11/17 18:55:45  ID:???(125)
age

68
NAME IS NULL[]   投稿日:2007/12/02 12:02:39  ID:jhMQgNuU
age

69
NAME IS NULL[]   投稿日:2007/12/10 19:31:25  ID:7fB17NBW
age

70
NAME IS NULL[sage]   投稿日:2007/12/11 03:31:57  ID:???(125)
>57
リリース版の.NET3.5にsqlmetalが付いて来なくなってる。SDKはまだか。

71
NAME IS NULL[age]   投稿日:2007/12/30 08:54:36  ID:???(125)
さて、正式版がリリースされたけど、みんなつかってみた?

72
NAME IS NULL[sage]   投稿日:2007/12/30 21:48:37  ID:???(125)
ダウンロードしただけ…
しかもインストール不可版もダウンロードしてしまった ^^;

73
sage[]   投稿日:2008/01/03 20:30:05  ID:bzPXLKTk
ScottGuさんのブログ読みながら、使ってみた。
なかなか使いやすいんではないかな。

74
NAME IS NULL[sage]   投稿日:2008/01/26 11:03:58  ID:???(125)
「手っ取り早く LINQ to SQL」の威力を認識するための「テストコード」

手っ取り早く LINQ to SQL を試すためのテストコード - NyaRuRuの日記
http://d.hatena.ne.jp/NyaRuRu/20071219/p4

75
NAME IS NULL[age]   投稿日:2008/02/07 01:13:04  ID:???(125)
保守しときますね。

76
NAME IS NULL[age]   投稿日:2008/02/24 18:20:19  ID:???(125)
保守

77
NAME IS NULL[age]   投稿日:2008/03/09 10:20:50  ID:???(125)
マ板に統合した方が言いのかな?
っていうか、何でDB板は全体的に過疎ってるんだ?
コメント1件

78
NAME IS NULL[]   投稿日:2008/03/14 21:03:18  ID:Img3hY0C
LINQ to SQL はみなさん思い思いにSQL発行しまくって
完全な無法地帯になりそうで危険な悪寒…
あとSQLが自動生成されると、パフォーマンスチューニングがしづらそうだが
本当に大丈夫か?
コメント1件

79
NAME IS NULL[]   投稿日:2008/03/21 07:54:16  ID:axh5x7MB
ウィザードによって生成されたSQLって、
自分の思い通りじゃなかったりするもんな。
で、結局は信頼性に欠けるということで、
自分で手修正してることはあるな。
だから俺はまだLINQそのものを使ってないな。

80
NAME IS NULL[age]   投稿日:2008/04/04 00:46:03  ID:???(125)
age

81
NAME IS NULL[sage]   投稿日:2008/04/05 00:22:42  ID:???(125)
>78
O/Rの出力SQLを例と見ると・・・

82
NAME IS NULL[age]   投稿日:2008/04/30 20:13:18  ID:???(125)
保守

83
NAME IS NULL[sage]   投稿日:2008/05/02 22:11:55  ID:???(125)
>77
そもそも対象になる製品が限られている=ユーザー数の裾野が狭い
っていうのと学生はデータベース触らない
っていう2ちゃん的に盛り上がれる要素が少ないからだと思われ

ム板みたいに速度チューンネタや言語速度比較みたいなのも
データベースの場合は「場合による」で終わっちゃうし
それにみんな本当はDBあまり好きじゃないんだ・・・・趣味でやるほどには・・・・

84
NAME IS NULL[age]   投稿日:2008/05/03 23:06:16  ID:???(125)
なるほどね。
確かにデータベースは余り面白くないものかも。
AccessやLAMPが出るなどして、スタンドアロンでも出来るようになって
大分一般的なものになってきたように思うんだけどな。
まだまだなのかな。

85
NAME IS NULL[sage]   投稿日:2008/05/03 23:12:10  ID:???(125)
仕事で触るの好きだけど
家ではディスクのインデックスでも作っといてって感じだな

86
NAME IS NULL[sage]   投稿日:2008/05/04 12:17:22  ID:???(125)
おまらDBの世界に足突っ込んだきっかけ何?
コメント1件

87
NAME IS NULL[]   投稿日:2008/05/26 00:16:16  ID:YQBkMqiw
DB Magazine 誌 2008/07 に LINQ 記事↓
特別企画『マイクロソフトの最新統合クエリ言語「LINQ」を試す』

88
NAME IS NULL[sage]   投稿日:2008/06/17 08:09:51  ID:???(125)
>86
先輩や先生の関係かな。
ま、半ば選択の余地がなくて強制って感じw

凄く嫌だとか抜け出したいとかは思ったことは無いけれど。

89
NAME IS NULL[sage]   投稿日:2008/08/13 21:52:29  ID:???(125)
保守しときますね

90
NAME IS NULL[sage]   投稿日:2008/08/13 22:48:00  ID:???(125)
ありがとう

91
NAME IS NULL[]   投稿日:2008/08/13 23:27:42  ID:98mcGyPk
Linqは何かのついでに使うことはあっても、
あらたまってこれについて語れって言われても思い浮かばないんだよな。
それはそうと、
.NET 3.5 SP1でADO.NET Entity Frameworkが追加になってけどどうよ?

92
NAME IS NULL[sage]   投稿日:2008/08/14 03:49:39  ID:???(125)
Linq to SQLとLinq to Entityの住み分けがわからない。
統合するのか、それぞれ存続させるのか?

93
NAME IS NULL[sage]   投稿日:2008/08/28 21:11:13  ID:???(125)
え?また何か機能追加になったわけ?

94
NAME IS NULL[]   投稿日:2008/09/09 23:15:07  ID:nHQ+Csrx
APサーバとDBサーバが別れてたら、
LINQのクエリだと結果集合を毎回APサーバまで引っ張ってくるのか?

一発で絞り込めるクエリにしないと簡単に帯域ぶっちぎって
パフォーマンスダメダメになりそうだな。

95
NAME IS NULL[sage]   投稿日:2008/09/09 23:18:12  ID:???(125)
( ゚д゚)ポカーン

96
NAME IS NULL[sage]   投稿日:2008/09/10 12:00:46  ID:???(125)
2重書き込みのため表示しません 内容を確認する

97
NAME IS NULL[sage]   投稿日:2008/09/11 23:01:09  ID:???(125)
LINQで実際にSQLが実行されるのは

98
NAME IS NULL[sage]   投稿日:2008/10/20 20:02:04  ID:???(125)
LINQを真似した仕様を他の言語が作ったりしないのかなぁ

99
NAME IS NULL[sage]   投稿日:2008/10/20 21:16:19  ID:???(125)
こっちにもちょっと書いてあるけどさ。
http://pc11.2ch.net/test/read.cgi/tech/1202568694/

言語仕様としてのサポートが無いと、LINQほどスマートにはいかないよねぇ。

100
NAME IS NULL[sage]   投稿日:2008/11/04 02:19:43  ID:???(125)
ま、新しい技術だということで、調べはしたけれど、LINQについては
特に急いで習得する必要性がなさそうだと思った。
これで書かれたプログラムを読まなければいけない状況も当分の間は
なさそうだしね。

配列のデータを扱う時、DataTableのデータを扱う時、ADO Recordsetで
接続してデータを扱う時は、すべてコードの書き方が異なっているので、
それぞれのやり方を覚えなおすよりも統一した方がプログラマにとっては
助かるので、方向性としてはLINQのようなものになるのは分かるが、
いまはまだVer1なわけなので、さらにまた言語仕様が変わっていくような
気がする。
過去のものを見るとVB.NETそのものが方向性を模索してるようなところが
あったしね。オブジェクト指向を強く出してVB6の要素を切り捨てたが、
ユーザがついてこなかったため、VB6よりに作り直したとか。
しばらく様子見かな。

101
NAME IS NULL[sage]   投稿日:2008/11/10 23:23:40  ID:???(125)
LINQで処理を統一しようという考えは分かるが、
ストアドプロシージャをVBA(Likeな)構文で書けるとか
そういう方向の統一性ってないのかなぁ?
なんか、ばらばらしとるよな。同じ会社の言語であっても。
買収したんだから仕方が無いという理屈は無しでw

102
NAME IS NULL[]   投稿日:2008/11/12 21:10:34  ID:RK8b64q5
LINQの限界ってあるんですかね?
たとえばSQLだと集計と自己結合を駆使して費用の按分処理(端数の補正あり)とかを
6階層ぐらいネストさせれば一発でかけるんですが、
こうゆう処理はとか余裕でできるのかな?
コメント1件

103
NAME IS NULL[sage]   投稿日:2008/12/15 01:52:57  ID:???(125)
保守

104
NAME IS NULL[sage]   投稿日:2008/12/29 08:00:53  ID:???(125)
保守

105
NAME IS NULL[sage]   投稿日:2009/01/04 10:01:38  ID:???(125)
LINQの大幅仕様変更は2009-2010あたりに行われるって解釈でおk?
これは新たな機能追加ではなく、不評であったため、改めるというやつ。

106
NAME IS NULL[sage]   投稿日:2009/01/09 05:06:39  ID:???(125)
>102
何をどうしたいのかがわからんが数値処理なんて余裕だろ。

107
NAME IS NULL[age]   投稿日:2009/01/18 23:35:33  ID:???(125)
保守

108
NAME IS NULL[age]   投稿日:2009/02/01 13:52:27  ID:???(125)
保守

109
NAME IS NULL[age]   投稿日:2009/02/08 16:13:19  ID:???(125)
ageときます

110
NAME IS NULL[age]   投稿日:2009/02/12 07:40:04  ID:???(125)
LINQの次はどんなものが想像できるかな?

111
NAME IS NULL[age]   投稿日:2009/03/04 18:25:38  ID:???(125)
LINQって、javaとかに移植されるのかな?
その場合、思想だけかな?
それとも、MSがモジュール提供かな?

112
NAME IS NULL[sage]   投稿日:2009/03/05 02:34:32  ID:???(125)
ODBMS規格化界隈ではJavaにLINQ入れてもらうためにJSR書くか〜
なんて話はあったみたいだよ。今どうなっているかは知らないけど。

113
NAME IS NULL[age]   投稿日:2009/03/11 20:26:11  ID:???(125)
LINQも大分日本語のドキュメントが出てくるようになったな。
当時見えてなかったモットーや概要が見えてくるようになった気がする。

114
NAME IS NULL[age]   投稿日:2009/04/04 11:32:26  ID:???(125)
特集:C#プログラマーのためのLINQ超入門(前編)
LINQ(リンク)の基礎知識
http://www.atmarkit.co.jp/fdotnet/special/cslinq01/cslinq01_01.html

LINQの使い方に限らず、モットーも説明したわかりやすい
解説が出てくるようになったな。

115
NAME IS NULL[sage]   投稿日:2009/04/04 21:20:00  ID:???(125)
読んだけど超入門というだけあって初心者向けだね。
わかりやすくて良かったです。

116
NAME IS NULL[age]   投稿日:2009/04/05 16:42:31  ID:???(125)
@ITの記事で、LINQのメリットについて書かれている記事があったので、紹介しておく。
http://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_09/csharp30_09_02.h...
以下、記事の抜粋
> LINQ to SQLは、SQL Serverの知識を持たずにプログラムを記述可能とする魔法のつえではない。
> LINQ to SQLが常に最も効率的なクエリを生成してくれるわけでもない。
> それにもかかわらず、筆者はLINQ to SQLを「救いの神」と見る。
> その理由は、この構造がアセンブラに対するC言語のはやりとよく似た構造を持っているからだ。
> LINQ to SQLも同様に、支払うものよりも得るものが圧倒的に多いという理由で利用する価値があると考える。

C言語よりも、処理効率の悪いjavaやVBの方が多くつかわれる傾向があるからLINQも
流行るだろうという考え方のようだが、それが出てから一般的に普及するまでに
時間がかかっていることも考えると、「LINQが使える」と言えるようになるまでに
まだまだ期間が必要だろうな。M$独自のバージョンアップ&仕様変更も考慮すると、
必ず使えるようになるような代物になるとは限らないとも感じる。
コメント1件

117
NAME IS NULL[sage]   投稿日:2009/04/05 21:39:46  ID:???(125)
LINQはVB厨には理解できないと思うんだ。

118
NAME IS NULL[sage]   投稿日:2009/04/05 22:42:40  ID:???(125)
LINQというよりラムダ式が。

119
NAME IS NULL[sage]   投稿日:2009/04/05 22:43:44  ID:???(125)
Inside LINQ…っというか、Inside ExpressionsみたいなものをPlease Me。

120
NAME IS NULL[age]   投稿日:2009/05/25 20:34:44  ID:???(125)
ほしゅん

121
NAME IS NULL[]   投稿日:2009/07/02 23:37:05  ID:pHeJV8Wt
保守

122
NAME IS NULL[age]   投稿日:2009/07/21 14:56:32  ID:???(125)
a

123
NAME IS NULL[sage]   投稿日:2009/08/02 02:35:12  ID:???(125)
>116
筆者は信者みたいなもんだしなぁ・・・
適材適所だろ
書いてることもこじつけて書いてる感じの部分もあるし

でも、判り易さは認める

まだ案件に2000の可能性とかがある環境で3.5とか使えないし orz

124
NAME IS NULL[sage]   投稿日:2009/09/01 20:19:43  ID:???(125)
>5を見て俺はいつのまにこのスレに来たのかと思った

でも、うちはまだ後数年は2.0なんだろな

125
NAME IS NULL[]   投稿日:2009/10/28 16:26:50  ID:f26y7In1
健全でない言葉が含まれているため表示しません 内容を確認する

126
NAME IS NULL[sage]   投稿日:2009/11/13 21:47:46  ID:???(125)
LINQは便利なのかもしれないけれど、必須じゃないからなぁ。
どうも飛びつこうという気持ちが湧かない。

127
NAME IS NULL[age]   投稿日:2009/11/22 20:26:13  ID:???(125)
こういうの(LINQ)を見ていると、 SQL文 って HTML みたいに、
多くの人が読み書き出来て当たり前みたいなものになっていくのかな
とか感じる。

128
NAME IS NULL[sage]   投稿日:2009/11/22 21:08:57  ID:???(125)
もともとSQL自体、プログラマ以外の人が自分で検索できるよう
自然言語に似せて作られたものだし。
コメント1件

129
NAME IS NULL[sage]   投稿日:2009/11/23 09:29:23  ID:???(125)
>128
それは知らなかった。

130
NAME IS NULL[sage]   投稿日:2009/11/23 11:27:54  ID:???(125)
まるでCOBOLだな。
(注:COBOLが開発された当時、プログラマの人は機械語か
せいぜいアセンブラでプログラミングをしていました)

131
NAME IS NULL[sage]   投稿日:2009/12/01 19:05:15  ID:???(125)
だがしかし、LINQはCOBOLのように多数の人が使うほどのものになるのだろうかw

132
NAME IS NULL[]   投稿日:2009/12/15 01:05:45  ID:CuH+Nsle
Linqは流行らないだろうな。
やっぱSQLを超える柔軟性のある考えをMSは考えて欲しいな


133
NAME IS NULL[sage]   投稿日:2009/12/21 22:05:48  ID:???(125)
まあDBからの取得はSQL文直接書いたほうが手っ取り早いにしても
LINQはDBからの取得だけじゃないし使い道はある

134
NAME IS NULL[sage]   投稿日:2010/04/23 12:40:09  ID:???(125)
SONY→SQNY

LINQ←LINO

135
NAME IS NULL[sage]   投稿日:2010/06/10 09:12:38  ID:???(125)
チャーリーウィラポンが取材してたな

136
NAME IS NULL[age]   投稿日:2010/09/11 12:58:53  ID:???(125)
LINQ覚えるのめんどい

137
NAME IS NULL[]   投稿日:2010/09/11 22:01:48  ID:qdKzTXTB
確かにSELECTから始まらないし、UPDATEとDELETEがないもんなぁ

138
NAME IS NULL[age]   投稿日:2010/11/22 18:38:06  ID:???(125)
あと1年くらい様子を見た方がいいのかな。
それで、日本語ドキュメントが充実したら時代的に必須ってことでw

(単なる俺の直感だけど、)Rubyみたいに互換性が低いので大きくは
広まらないが、その使い勝手の良さから、長く生き残り続けはする
みたいになりそうな気がしている。
コメント1件

139
NAME IS NULL[sage]   投稿日:2010/11/24 11:18:17  ID:???(125)
逆に見ると、もしRailsのようなキラーフレームワーク/アプリケーションが登場すれば、
爆発的な普及が始まる、ってことかな

140
NAME IS NULL[sage]   投稿日:2010/11/26 09:32:13  ID:???(125)
どこまで、閉鎖的・独占的な手法を辞めて、開放的な手法にするかってこと
によるってことかな

141
NAME IS NULL[]   投稿日:2011/06/27 20:02:53  ID:KJKcL+bn

142
NAME IS NULL[sage]   投稿日:2011/08/04 13:15:22  ID:???(125)
てst

143
NAME IS NULL[]   投稿日:2011/10/20 19:27:24  ID:6bcITUKu
さいきん
オブジェクト指向データベース
って言葉を全然聞かないなぁ
コメント1件

144
NAME IS NULL[sage]   投稿日:2011/10/22 01:30:45  ID:???(125)
>143
ぱっと見で何が入ってるかわからないのは痛い

145
NAME IS NULL[]   投稿日:2011/10/22 06:51:43  ID:7yvAizZh
所詮はオブジェクトDBなんて夢だったんだよ
RDBの完全勝利

146
忍法帖【Lv=5,xxxP】 []   投稿日:2011/10/24 18:46:24  ID:H2Q5zkCn
aaa

147
NAME IS NULL[]   投稿日:2011/10/27 08:33:27  ID:VqqPO7vL
>138
一年たったが
結論出たか?w

148
忍法帖【Lv=6,xxxP】 []   投稿日:2011/10/28 03:17:48  ID:M79UdWtH
あああ

149
NAME IS NULL[sage]   投稿日:2011/11/08 11:09:26  ID:???(125)
まだ1年経ってない

150
NAME IS NULL[]   投稿日:2011/11/08 11:20:52  ID:OK3IK3VA
誰も使ってない

151
NAME IS NULL[]   投稿日:2012/01/08 21:28:06  ID:3sZXzeSk
k

152
NAME IS NULL[sage]   投稿日:2012/01/30 05:00:47  ID:???(125)
LINQの方は、むしろ使ってないやつは生きた化石だけどな
言語の一部というより、半身といっていい存在

153
NAME IS NULL[sage]   投稿日:2012/02/02 23:06:32  ID:???(125)
LINQ使ってるやつは珍種

154
電脳プリオン 【関電 60.6 %】 【15.2m】 [sage]   投稿日:2013/10/14 00:11:18
もう搭載された?

155
NAME IS NULL[sage]   投稿日:2014/01/26 16:34:05  ID:???(125)
( ・ิω・ิ)
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

データベース板 タイトル検索

このスレッドが人気です(実況系)
大相撲夏場所 千秋楽 ☆4 (1001)NHK実況
大相撲夏場所 千秋楽 ☆6 (405)NHK実況
NHK総合を常に実況し続けるスレ 1342677 ダイシンボルガード・ヒカルイマイ・キーストン (1001)NHK実況
あの日 あの時 あの番組「集団就職〜ひよっこが描く金の卵たち」★2 (826)NHK実況
競馬BEAT 第84回日本ダービー(GI) (822)フジ実況
競馬「第84回日本ダービー」★2 (502)NHK実況
ザ・ノンフィクション 「塀の中のオンナたち」 ★5 (777)フジ実況
みんなのKEIBA 『第85回東京優駿競走』 其の参 (371)フジ実況
このスレッドが人気です(ニュース系)
【出会い系バー出入り】前川・前文科次官「行ったことは事実」「女性の貧困について実地の視察調査の意味合いがあった」★77 (1001)ニュー速+
【出会い系バー出入り】前川・前文科次官「行ったことは事実」「女性の貧困について実地の視察調査の意味合いがあった」★78 (147)ニュー速+
【出会い系バー出入り】前川・前文科次官「行ったことは事実」「女性の貧困について実地の視察調査の意味合いがあった」★76 (1001)ニュー速+
【競馬】日本ダービー(東京・G1) 藤沢和師の夢!ルメールの夢ここに結実!レイデオロ向正面進出から直線早め先頭押し切って堂々戴冠! (668)音楽・芸能ニュース
【炎上】AKB48峯岸みなみ チャン・グンソクに「整形してますよね?」発言に批判殺到 「非常に無礼」 韓国メディアに波紋 (636)音楽・芸能ニュース
【緊急速報!!】 文科省前事務次官・前川喜平 児童買春の疑いで捜査内偵中、間もなく逮捕の情報 (855)ニュー速
【出会い系バー出入り】前川・前文科次官「行ったことは事実」「女性の貧困について実地の視察調査の意味合いがあった」★75 (1001)ニュー速+
【サッカー】U-20日本代表に「共謀疑惑」!?海外メディアが報じる★2 (670)音楽・芸能ニュース
データベース板の人気スレ
Oracle 質問総合スレ12 (763)
SQL初心者質問スレ (670)
PostgreSQL Part.11 (218)
Oracle 質問総合スレ9 (986)
MySQL 総合 Part24 (1010)
Oracle 質問総合スレ10 (1014)
SQL質疑応答スレ 15問目 (1013)
SQL質疑応答スレ 17問目 (331)
[test] 書き込みテスト 専用スレッド [テスト] (386)
MySQL 総合 Part25 (893)
Microsoft SQL Server 総合スレ 11 (402)
♪つっかもうぜ!DB! (68)
SQLite Part.10 (607)
はじまりです。 (584)
XML統合スレッド (397)
RDBMS比較総合スレ 【サーバ】 (115)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード: