VisualStudio2008より追加された便利で強力な機能
統合言語クエリ (LINQ : Language Integrated Query)
ちょっと使ってみると、意外と難しいし、テクニック的にも奥が深いものです。
関数型言語にしかないような機能ラムダ式(Lambda式)などはオブジェクト指向とは一味違う機能です。
DataBaseの操作にも、Xmlの操作にも、さらにもっと単純な配列なコンテナにさえ機能する
言語共通・高汎用な統合言語クエリを皆で一緒にマターリ勉強しましょう。
質問、便利なマイテクニックの発表、いろいろやっちゃってください。
探検
【VB.NET】LINQ友の会【C#, C♯, C#】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2008/02/09(土) 23:51:34561559
2010/06/24(木) 04:24:52 あー、ほんとだ、C#相談室のほうにも同じ質問投げてあったのね。
しかし回答がまるっきり一緒とは……。
しかし回答がまるっきり一緒とは……。
562デフォルトの名無しさん
2010/06/24(木) 21:15:15 >>559
return obj.Name.GetHashCode();
でいけました。ありがとうございました。
過疎スレに質問をしてしまったと投稿してから思い、相談室にもマルチポストしてしまいました。
LINQが大好きなのでこのスレを監視している方がいてくださって嬉しいです。
return obj.Name.GetHashCode();
でいけました。ありがとうございました。
過疎スレに質問をしてしまったと投稿してから思い、相談室にもマルチポストしてしまいました。
LINQが大好きなのでこのスレを監視している方がいてくださって嬉しいです。
563デフォルトの名無しさん
2010/06/24(木) 21:22:28 ところで相談室でも言われたのですが、Exceptを使うのは変でしょうか?
私は差集合で解決できる問題なのかなと素直に思いましたが。
単純にファイルの有無ならば差集合でとれる。
→Equalになる条件が違う
→ならばその条件を指定してやればいい
という段階を踏んでこのソースの形に.なりました。
私は差集合で解決できる問題なのかなと素直に思いましたが。
単純にファイルの有無ならば差集合でとれる。
→Equalになる条件が違う
→ならばその条件を指定してやればいい
という段階を踏んでこのソースの形に.なりました。
564デフォルトの名無しさん
2010/06/24(木) 21:32:30 差集合の意味わかってるか?
565デフォルトの名無しさん
2010/06/24(木) 21:35:41 積集合だな
だからってIntersectを使うのも不適切だと思う
だからってIntersectを使うのも不適切だと思う
566デフォルトの名無しさん
2010/06/24(木) 22:38:18 ああ、ごめんなさい。
もともとの質問がGetHashCode()の使い方についてでしたので、説明不足な点がありました。
実装したい機能は、AのフォルダからBのフォルダにファイルをコピーするというものです。
コピーする対象は、AにあってBにないファイルです。
この時点で私はExceptを採用しました。
その後で、実は同じファイルがあっても更新日付が新しかったら上書きコピーするという仕様になりました。
SQLでかくと
SELECT * FROM TableA A
WHERE NOT EXISTS
(SELECT * FROM TableB B WHERE A.Name = B.Name AND A.LastWriteDate <= B.LastWriteDate)
こんな感じになると思います。
これって差集合と違います?
もともとの質問がGetHashCode()の使い方についてでしたので、説明不足な点がありました。
実装したい機能は、AのフォルダからBのフォルダにファイルをコピーするというものです。
コピーする対象は、AにあってBにないファイルです。
この時点で私はExceptを採用しました。
その後で、実は同じファイルがあっても更新日付が新しかったら上書きコピーするという仕様になりました。
SQLでかくと
SELECT * FROM TableA A
WHERE NOT EXISTS
(SELECT * FROM TableB B WHERE A.Name = B.Name AND A.LastWriteDate <= B.LastWriteDate)
こんな感じになると思います。
これって差集合と違います?
2010/07/11(日) 04:57:51
568デフォルトの名無しさん
2010/11/10(水) 22:58:06 1から見てきたが使いたくなるようなコードがひとつもない
しかも直感でわかりにくい
しかも直感でわかりにくい
569デフォルトの名無しさん
2010/11/10(水) 23:24:39 >>568
つ関数型言語
つ関数型言語
570デフォルトの名無しさん
2010/12/14(火) 07:21:36 ORマッパーになると聞いたが
具体的にどんなふうになるのん?
具体的にどんなふうになるのん?
571デフォルトの名無しさん
2010/12/14(火) 20:57:11 >>570
1.エンティティを定義
[Table]
public class Table1
{
[Column(IsPrimaryKey=true)]
pubic int Key{ get; set; }
[Column]
pubic string Column2{ get; set; }
[Column]
pubic string Column3{ get; set; }
}
2.DataContextを定義
public TestContext :DataContext
{
public TestContext (string connectionString):base(connectionString){}
public Table<Table1> Table1;
}
2. DataContextをインスタンス化してLINQでアクセス
var dc = new TestContext (接続文字列);
var list = dc.Table1.Where(row=>row.Column2=="test").OrderBy(row=>row.Column2).ToList();
1.エンティティを定義
[Table]
public class Table1
{
[Column(IsPrimaryKey=true)]
pubic int Key{ get; set; }
[Column]
pubic string Column2{ get; set; }
[Column]
pubic string Column3{ get; set; }
}
2.DataContextを定義
public TestContext :DataContext
{
public TestContext (string connectionString):base(connectionString){}
public Table<Table1> Table1;
}
2. DataContextをインスタンス化してLINQでアクセス
var dc = new TestContext (接続文字列);
var list = dc.Table1.Where(row=>row.Column2=="test").OrderBy(row=>row.Column2).ToList();
572デフォルトの名無しさん
2010/12/14(火) 22:52:23 >>571
S2Daoとかなら簡単なSQLなら自動生成してくれるのに今更って感じだな
S2Daoとかなら簡単なSQLなら自動生成してくれるのに今更って感じだな
573デフォルトの名無しさん
2010/12/14(火) 23:10:17 S2DAO(笑)
574デフォルトの名無しさん
2010/12/14(火) 23:30:48575デフォルトの名無しさん
2010/12/14(火) 23:47:23576デフォルトの名無しさん
2010/12/15(水) 00:45:15 >572
えーと自動生成してくれるんだが・・・
えーと自動生成してくれるんだが・・・
577デフォルトの名無しさん
2010/12/20(月) 13:47:54 joSQLじゃ何故流行らない?
578デフォルトの名無しさん
2011/01/27(木) 16:14:48 ちょっと困ってるので質問
TableA:
Key1 string
Key2 string
TableB:
Key1 string
Key2 string
Key3 int
この2つのTableをleft joinさせる
var q=from n in TableA join m in TableB on new {n.Key1,n.Key2} equals new {m.Key1,m.Key2} into z
from a in z.DefaultIfEmpty()
select new {n.Key1,n.Key2,a.Key3};
そうするとforeachの段階で「a.Key3がnull許容型じゃない」と怒られる
複合キーだからnull許容には出来ないし、そもそもDefaultIfEmpty()って値型はデフォルトの値入れてくれるんじゃないのかと
これってどうすれば?
TableA:
Key1 string
Key2 string
TableB:
Key1 string
Key2 string
Key3 int
この2つのTableをleft joinさせる
var q=from n in TableA join m in TableB on new {n.Key1,n.Key2} equals new {m.Key1,m.Key2} into z
from a in z.DefaultIfEmpty()
select new {n.Key1,n.Key2,a.Key3};
そうするとforeachの段階で「a.Key3がnull許容型じゃない」と怒られる
複合キーだからnull許容には出来ないし、そもそもDefaultIfEmpty()って値型はデフォルトの値入れてくれるんじゃないのかと
これってどうすれば?
579デフォルトの名無しさん
2011/01/27(木) 18:31:19 それはLinq to なに?
580578
2011/01/27(木) 21:54:36 多分Linq to SQLです
何故「多分」かと言うと、Entityとの違いがわからんからです
DBはSQL Server2005です
何故「多分」かと言うと、Entityとの違いがわからんからです
DBはSQL Server2005です
581デフォルトの名無しさん
2011/01/27(木) 23:57:21 [TableA]
Key1 Key2
hoge fuga
foo bar
[TableB]
Key1 Key2 Key3
hoge fuga 1
[Result]
Key1 Key2 Key3
hoge fuga 1
foo bar NULL
Key1 Key2
hoge fuga
foo bar
[TableB]
Key1 Key2 Key3
hoge fuga 1
[Result]
Key1 Key2 Key3
hoge fuga 1
foo bar NULL
582581
2011/01/28(金) 00:04:25 途中で送ってしもた
例えばDB上でTableA,Bが上記のような場合、LEFT JOINしたらResultのようになるが、
これを(string, string, int)に入れようとすればエラーになって当然
とりあえず、匿名クラスを(string, string, int?)にすれば良い
例えばDB上でTableA,Bが上記のような場合、LEFT JOINしたらResultのようになるが、
これを(string, string, int)に入れようとすればエラーになって当然
とりあえず、匿名クラスを(string, string, int?)にすれば良い
584デフォルトの名無しさん
2011/01/28(金) 18:22:36586デフォルトの名無しさん
2011/02/08(火) 22:46:26 Linqでクロス集計とかできますかぁ?
587デフォルトの名無しさん
2011/02/08(火) 22:54:17 まあ、そりゃ、ODBCとExcelだのAccessだのでやれてたことはたいていLINQで簡単に書ける。
588デフォルトの名無しさん
2011/02/18(金) 23:37:45 ttp://www.g1sys.co.jp/seminar090515.html
にあるような複雑な消費税計算もLINQなら余裕ですよね?
にあるような複雑な消費税計算もLINQなら余裕ですよね?
589デフォルトの名無しさん
2011/02/19(土) 03:20:21 向こうで馬鹿にされたからってこっち荒らすなよ
590デフォルトの名無しさん
2011/03/25(金) 21:47:03.67 LINQ to DataSet良いね。
DataTable(DataViewだっけ?)のソート機能はいまいちわからない。
DataTable(DataViewだっけ?)のソート機能はいまいちわからない。
591デフォルトの名無しさん
2011/03/25(金) 21:52:20.02 LINQは禁止だけどDataTable.SelectはOKって意味が分からんよな
592デフォルトの名無しさん
2011/03/25(金) 21:56:40.88 >>591
そんなイミフな規約があるとはかわいそうに
そんなイミフな規約があるとはかわいそうに
593デフォルトの名無しさん
2011/03/26(土) 09:15:06.03 >591-592
.NET Framework 2.0を切れない環境とか。
工場なんかだと今だにWin2K使ってたりするしなあ。馬鹿げた話だ。
.NET Framework 2.0を切れない環境とか。
工場なんかだと今だにWin2K使ってたりするしなあ。馬鹿げた話だ。
594デフォルトの名無しさん
2011/03/26(土) 09:58:37.70 禁止といったら使えるのに使わせないということだと思ったけど
.NET 2だったら元より使えないじゃない
.NET 2だったら元より使えないじゃない
595デフォルトの名無しさん
2011/03/26(土) 10:11:54.06 件のプロジェクトは3.5だよ
なお除外申請をすればLINQは使えるけど拡張メソッドは全面禁止の模様
なお除外申請をすればLINQは使えるけど拡張メソッドは全面禁止の模様
596デフォルトの名無しさん
2011/03/26(土) 10:33:29.03 VBならいけるけど組み込みクエリ演算子の少ないC#では何もできないなそれ
597デフォルトの名無しさん
2011/03/27(日) 02:01:44.67 拡張メソッドを普通に呼び出すのもダメなのか?
598デフォルトの名無しさん
2011/03/27(日) 08:09:14.06 分からん
規約の最後の「以下は使用を禁止する」ってリストに「拡張メソッド」「ラムダ式」「LINQ」って書いてあって、
下二つは申請すれば使えるって注釈があった
多分ユーザーに直接聞けば普通にOKされるとは思うが、リーダーと元請が事なかれ主義で申請を弾くんじゃないかと思う
最悪後出しで吊し上げられる可能性もあるから確認する気にもならん
規約の最後の「以下は使用を禁止する」ってリストに「拡張メソッド」「ラムダ式」「LINQ」って書いてあって、
下二つは申請すれば使えるって注釈があった
多分ユーザーに直接聞けば普通にOKされるとは思うが、リーダーと元請が事なかれ主義で申請を弾くんじゃないかと思う
最悪後出しで吊し上げられる可能性もあるから確認する気にもならん
599デフォルトの名無しさん
2011/03/27(日) 08:28:01.17 拡張メソッドを自分で作るなってことじゃないのか?
600デフォルトの名無しさん
2011/03/27(日) 12:02:56.77 成果物のソースコードやライブラリを.NET2.0環境でも流用したいとかじゃないの?
601デフォルトの名無しさん
2011/03/27(日) 12:21:50.11 あそこがそんなまともな発想で動くはずがない
同じ規約に「stringは参照型だからconstじゃなくてstatic readonlyにしろ」って書いてあるんだぞ?
FxCopで何十個も警告出てみんな間違いだってわかってるのに、客がドヤ顔で提示してくるから誰も突っ込まないし
同じ規約に「stringは参照型だからconstじゃなくてstatic readonlyにしろ」って書いてあるんだぞ?
FxCopで何十個も警告出てみんな間違いだってわかってるのに、客がドヤ顔で提示してくるから誰も突っ込まないし
602デフォルトの名無しさん
2011/03/27(日) 12:25:59.03 理由は間違ってるがその規約自体は必ずしも間違ってないぞ
privateやinternalならいいが、アセンブリの外から見えるconst定数は
バージョン管理上問題があるので非推奨
privateやinternalならいいが、アセンブリの外から見えるconst定数は
バージョン管理上問題があるので非推奨
603デフォルトの名無しさん
2011/03/27(日) 12:38:29.25 >602
そういう意味ならstatic readonlyでもダメだろ
そういう意味ならstatic readonlyでもダメだろ
604デフォルトの名無しさん
2011/03/27(日) 12:48:55.51605デフォルトの名無しさん
2011/03/27(日) 13:17:12.35 メモリの節約が目的なのかな?
実際にはインターンされるから節約できるのは 文字列のサイズ×参照元のアセンブリの数 くらいかw
実際にはインターンされるから節約できるのは 文字列のサイズ×参照元のアセンブリの数 くらいかw
606デフォルトの名無しさん
2011/03/27(日) 13:45:11.34 .NETやらC#やらを使ってて「メモリの節約が〜」とか片腹痛いよね
馬鹿みたいな要求はそういう小手先だけの最適化()から出てくることが多かったり
馬鹿みたいな要求はそういう小手先だけの最適化()から出てくることが多かったり
607デフォルトの名無しさん
2011/03/31(木) 14:49:08.10 LINQは糞
608デフォルトの名無しさん
2011/04/02(土) 21:40:07.08 可読性が著しく悪化する
609デフォルトの名無しさん
2011/04/07(木) 22:52:52.61 SQLとかXML使わない人にはLINQって無用?
610デフォルトの名無しさん
2011/04/07(木) 22:57:19.29 コレクションも配列もIEnumerable<T>も使わないなら無用
612デフォルトの名無しさん
2011/04/08(金) 01:19:05.23 えっ
614デフォルトの名無しさん
2011/04/08(金) 23:54:00.10 あんたー
行かないでー
行かないでー
615デフォルトの名無しさん
2011/05/16(月) 14:59:59.72 おまえらの持ってるLINQの良書ってなんですか?
自分はオライリーのクックブック(LINQは30ページほど)しか持ってないから参考にしたい。
自分はオライリーのクックブック(LINQは30ページほど)しか持ってないから参考にしたい。
616デフォルトの名無しさん
2011/05/18(水) 17:03:55.24617デフォルトの名無しさん
2011/05/18(水) 19:19:33.39 LINQテクノロジ入門はないな。
618デフォルトの名無しさん
2011/06/02(木) 19:50:13.55 マイクロソフトさん、無敵のC#でエディットコンティニュなんとかしてくださいよォ
619デフォルトの名無しさん
2011/06/04(土) 10:32:14.82 LINQが素晴らしすぎて
もう他の言語では開発する気が起きない身体になってしまいました
javaがforを回しているのを見るだけで不整脈になります
Microsoftはどう責任をとるつもりですか?
もう他の言語では開発する気が起きない身体になってしまいました
javaがforを回しているのを見るだけで不整脈になります
Microsoftはどう責任をとるつもりですか?
620デフォルトの名無しさん
2011/06/04(土) 12:53:35.38 よし、じゃあ、J# 復活させろって要望を出しまくるんだ!
621デフォルトの名無しさん
2011/06/04(土) 18:17:29.27 from i in Enumerable.Range(1,10) ... までやっちゃう奴もいるが、
世の中には適材適所って言葉がだなw
世の中には適材適所って言葉がだなw
622デフォルトの名無しさん
2011/06/04(土) 23:25:36.07 F#のほうがいいお(´・ω・`)
623デフォルトの名無しさん
2011/06/05(日) 00:01:06.96 javaとか滅亡すればいいのに
624デフォルトの名無しさん
2011/06/05(日) 01:42:03.34 LINQ(の出来ること)に限ってはScalaやF#よりC#のほうがいいな。
625デフォルトの名無しさん
2011/06/05(日) 02:02:23.62 F#つかってるけどLINQは全く使わんな。
DBとかつかうんならまた話は別なんだが、おbじぇctとXMLはつかわんでいい。
DBとかつかうんならまた話は別なんだが、おbじぇctとXMLはつかわんでいい。
626デフォルトの名無しさん
2011/06/05(日) 02:14:45.27627デフォルトの名無しさん
2011/06/05(日) 09:55:46.24 XMLはElementとかAttributeとるラッパーかましたりSeq化したり。
SQLはクエリーにしないといけないのでそういうわけにはいかんけど。
まぁF#でもうちっとLinqがきれいに書ければいいんだけどね。TypeProvider来たらもう少し変わるんか?
SQLはクエリーにしないといけないのでそういうわけにはいかんけど。
まぁF#でもうちっとLinqがきれいに書ければいいんだけどね。TypeProvider来たらもう少し変わるんか?
628デフォルトの名無しさん
2011/06/05(日) 11:58:43.36 XPathかと思ったら・・・
629デフォルトの名無しさん
2011/06/06(月) 07:34:52.23 Xquery
630デフォルトの名無しさん
2011/06/09(木) 23:12:42.43 あれ?LINQ2SQLだとインデックス使ってくれないとかある?
さっきざっくり見た時にvarcharをncarcharに変換するので引っかからないうんたらとか書いてるもあったような気がしたんだが。
さっきざっくり見た時にvarcharをncarcharに変換するので引っかからないうんたらとか書いてるもあったような気がしたんだが。
631デフォルトの名無しさん
2011/06/09(木) 23:21:51.44 そんなもんスキーマと検索条件次第だろ
自分でDataContext.Log設定して実行計画確認しろよ
自分でDataContext.Log設定して実行計画確認しろよ
632デフォルトの名無しさん
2011/06/10(金) 00:45:13.06 Logみれというのはごもっともなんだが、明らかにインデックスのはってある絡むだけをwhereで使ってんないんだよね・・・
ちなみにちょと違うかもしれんがこんなのあった。
http://social.msdn.microsoft.com/forums/en-US/linqprojectgeneral/thread/cfa263a0-fc7b-4da5-982c-901da60236db/
ちなみにちょと違うかもしれんがこんなのあった。
http://social.msdn.microsoft.com/forums/en-US/linqprojectgeneral/thread/cfa263a0-fc7b-4da5-982c-901da60236db/
633デフォルトの名無しさん
2011/06/11(土) 07:50:22.35 あ
634デフォルトの名無しさん
2011/06/26(日) 21:45:11.58 まじっすか!!!
635デフォルトの名無しさん
2011/06/28(火) 13:00:23.68 複数のテーブルが複数のsdf(SQL Server Compact)ファイルに分散して格納されています。
#テーブル1,2はファイル1、テーブル3,4,5はファイル2など。
このような場合でもLinq to Entitiesで全てのテーブルを連携した検索等を行うことは可能でしょうか?
Linq自体これから勉強するところなのですが、仕様を先に決めなければなりません。
ご教示よろしくお願いします。
#テーブル1,2はファイル1、テーブル3,4,5はファイル2など。
このような場合でもLinq to Entitiesで全てのテーブルを連携した検索等を行うことは可能でしょうか?
Linq自体これから勉強するところなのですが、仕様を先に決めなければなりません。
ご教示よろしくお願いします。
636デフォルトの名無しさん
2011/06/28(火) 13:09:40.13637デフォルトの名無しさん
2011/06/28(火) 21:01:46.09 SelectedItems
Item
Count
SelectedIndices
Item
上記はそれぞれどのような機能を果たすのですか?その機能を教えてほしいです。
初心者で申し訳ありません。
Item
Count
SelectedIndices
Item
上記はそれぞれどのような機能を果たすのですか?その機能を教えてほしいです。
初心者で申し訳ありません。
638デフォルトの名無しさん
2011/06/29(水) 00:47:53.20639デフォルトの名無しさん
2011/06/29(水) 02:54:06.93 Linq2SqlとLinq2Entityってざっくり何が違うん(´・ω・`)
640デフォルトの名無しさん
2011/06/29(水) 08:46:14.33 >>639
そもそも開発チームが違う。
LINQ to SQL は言語チームが IQueryable 版 LINQ の参考実装として作ったもの。
LINQ to Entities は ADO.NET チームが作った、ちゃんとした DB アクセスライブラリ。
当然、参考実装が今後保守されるわけがなく。
そもそも開発チームが違う。
LINQ to SQL は言語チームが IQueryable 版 LINQ の参考実装として作ったもの。
LINQ to Entities は ADO.NET チームが作った、ちゃんとした DB アクセスライブラリ。
当然、参考実装が今後保守されるわけがなく。
641デフォルトの名無しさん
2011/06/29(水) 09:28:45.92 なるー。
で聞きたいのはEntityFrameworkを使ってこれから幸せになれるかなんだが…
まっとーなプロジェクトで使ってる人とかおるん?
で聞きたいのはEntityFrameworkを使ってこれから幸せになれるかなんだが…
まっとーなプロジェクトで使ってる人とかおるん?
642デフォルトの名無しさん
2011/06/29(水) 09:33:23.62 最近、というか、.NET 4世代になってようやく採用増えてるんじゃないな。
643デフォルトの名無しさん
2011/06/30(木) 00:31:39.64 これは良いスレ。
計測データの収集と抽出にDB使おうと考えてた。
計測データの収集と抽出にDB使おうと考えてた。
645デフォルトの名無しさん
2011/07/04(月) 00:35:22.65 LINQtoSQLはなんだかんだでNET4でもサポートされてる。
なくなるような懸念されてたけどどうもそんな感じではない。
なくなるような懸念されてたけどどうもそんな感じではない。
646デフォルトの名無しさん
2011/07/04(月) 00:39:45.53 WP7でLinq to Sqlが乗っかってるから、それ自体がなくなるってのはもうないねー。
647デフォルトの名無しさん
2011/07/06(水) 09:51:37.05 いまいちわからん。
もともとDBに任せてた SELECT とかの処理をクライアント側でやるってこと?だよね?
テーブルのデータを全部クライアントに持ってくるの?
もともとDBに任せてた SELECT とかの処理をクライアント側でやるってこと?だよね?
テーブルのデータを全部クライアントに持ってくるの?
648デフォルトの名無しさん
2011/07/06(水) 10:41:45.19 言葉の意味はよく分からんがとにかくすごい勘違いだ
649デフォルトの名無しさん
2011/07/06(水) 13:36:20.66 テーブル HOGE に 100 件中 10 件のデータの項目A が 10以下だったとして
その10件のデータに対してループ処理をしたいとき
LINQってまずDBから100件データ取ってきてコード内で指定された条件の10件分だけ選別してループするんじゃないの?
それともSQLを自動生成して必要分だけ取ってきてくれるの?
あれなんか根本的に間違ってる?
その10件のデータに対してループ処理をしたいとき
LINQってまずDBから100件データ取ってきてコード内で指定された条件の10件分だけ選別してループするんじゃないの?
それともSQLを自動生成して必要分だけ取ってきてくれるの?
あれなんか根本的に間違ってる?
650デフォルトの名無しさん
2011/07/06(水) 14:15:04.78 オブジェクトでSQLライクな操作を可能にしたのがLINQだろ
651デフォルトの名無しさん
2011/07/06(水) 16:10:54.32 >>647
全然違う。
LINQ to SQL とか LINQ to Entties は、
クエリ式とか db.Select(x => ...) みたいなメソッド呼び出しから、
式ツリー作って、その式ツリーから SQL 文組み立てて
DB サーバーに問い合わせ行う。
全然違う。
LINQ to SQL とか LINQ to Entties は、
クエリ式とか db.Select(x => ...) みたいなメソッド呼び出しから、
式ツリー作って、その式ツリーから SQL 文組み立てて
DB サーバーに問い合わせ行う。
652デフォルトの名無しさん
2011/07/06(水) 16:41:34.63 >>649
まずはLINQ to ObjectとLINQ to SQLの違いを勉強してから来い
まずはLINQ to ObjectとLINQ to SQLの違いを勉強してから来い
653デフォルトの名無しさん
2011/07/06(水) 21:35:56.48 詳しくない人は、IQueryableについて調べてから出直してください。
654デフォルトの名無しさん
2011/07/07(木) 23:26:47.53 教えてください。
クラスの配列を特定の要素でグループ化して、その中で別の要素の値が
もっとも小さいモノを取得したいと考えています。
var rows = new classA[] {
new classA { id = 1, group = 1, value = 100 },
new classA { id = 2, group = 1, value = 101 },
以下略 };
こんな感じの配列を group の値ごとに、同じ group をもつの同士の中で value が最小のレコード?を選びたい。
で、LINQ を利用してこんなことをしてみました。(間違いがあっても大目に見てください)
var list = from a in rows group a by a.group;
foreach( var x in list )
{
var row = from b in x where b.value = x.min( y => y.value );
row の保存処理;
}
一応これでも期待した動作はするんですが、もっときれいに一発でやれそうな気がします。
もっとよい方法があれば、ご教示いただけませんか?
クラスの配列を特定の要素でグループ化して、その中で別の要素の値が
もっとも小さいモノを取得したいと考えています。
var rows = new classA[] {
new classA { id = 1, group = 1, value = 100 },
new classA { id = 2, group = 1, value = 101 },
以下略 };
こんな感じの配列を group の値ごとに、同じ group をもつの同士の中で value が最小のレコード?を選びたい。
で、LINQ を利用してこんなことをしてみました。(間違いがあっても大目に見てください)
var list = from a in rows group a by a.group;
foreach( var x in list )
{
var row = from b in x where b.value = x.min( y => y.value );
row の保存処理;
}
一応これでも期待した動作はするんですが、もっときれいに一発でやれそうな気がします。
もっとよい方法があれば、ご教示いただけませんか?
655デフォルトの名無しさん
2011/07/08(金) 01:21:39.32 クエリ式じゃないけど
rows.OrderBy(e => e.value).GroupBy(e => e.group).Select(e=>e.First());
これでいけるが、groupってプロパティ名は・・・
rows.OrderBy(e => e.value).GroupBy(e => e.group).Select(e=>e.First());
これでいけるが、groupってプロパティ名は・・・
656デフォルトの名無しさん
2011/07/08(金) 01:41:10.34 rows.GroupBy(x => x.group).Select(y => y.Min(z => z.value))
groupよりvalueがイヤだ
groupよりvalueがイヤだ
657デフォルトの名無しさん
2011/07/08(金) 05:09:43.01 var list =
from a in rows
group a by a.@group into g
select g.OrderBy(x => x.value).First();
from a in rows
group a by a.@group into g
select g.OrderBy(x => x.value).First();
658654
2011/07/09(土) 00:03:39.81 ありがとうございます。
やっぱり出来たんですね。
それぞれの方法で動作を確認しました。
あのプロパティ名は、ここに書くためにわかりやすそうなのを適当につけただけなので。
ご心配には及びません。w 余計な心配をさせてしまったみたいで、すみません。
やっぱり出来たんですね。
それぞれの方法で動作を確認しました。
あのプロパティ名は、ここに書くためにわかりやすそうなのを適当につけただけなので。
ご心配には及びません。w 余計な心配をさせてしまったみたいで、すみません。
659デフォルトの名無しさん
2011/07/19(火) 15:12:17.04 int[] ia = {0,1,2,3,4,5,6,7,8,9}
に対して、並べ替えが
ia = {5,6,7,8,9,4,3,2,1,0}
となるようなLINQの書き方を教えてください。
に対して、並べ替えが
ia = {5,6,7,8,9,4,3,2,1,0}
となるようなLINQの書き方を教えてください。
660デフォルトの名無しさん
2011/07/19(火) 15:16:43.87 それは具体的にどういうルールなんだ
その例だけだとたくさんアプローチがあるんだが
その例だけだとたくさんアプローチがあるんだが
661デフォルトの名無しさん
2011/07/19(火) 15:28:28.71 0〜4までのグループ1は降順で、5〜9までのグループ2は昇順で、
グループ2→グループ1の順に並べたいです。
グループ2→グループ1の順に並べたいです。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★2 [お断り★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★3 [お断り★]
- 山里亮太、フィリピンに子ども食堂を建設 「偽善者」「日本の子どもを助けるべき」の声があっても活動を続ける理由 [Anonymous★]
- 【BBC】サッカー 滋賀県初!レイラック滋賀 悲願のJ3昇格決定 [鉄チーズ烏★]
- 日本の英語力96位から動かず AI評価で可視化された「読めるが話せない」の正体 (EF EPI 2025) [少考さん★]
- B’z東京ドーム公演で後ろの客が大熱唱…「B’zの歌声に集中できない」注意すると笑いながら反論されモヤモヤ [muffin★]
- 【NJPW】新日本プロレスワールド part.2432
- 【NJPW】新日本プロレスワールド part.2433
- 海外競馬中継 ★7
- とらせん IP付き
- 中山競馬5回4日目その2カペラエス
- 競輪実況★1629 ゲロブスクソ雑魚蛯原
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★8
- 有識者「外国人より40-50代の日本人おっさんの方が遥かに態度悪い、マジで害悪」8万いいね [177316839]
- 「ツーブロック禁止」、終わる 校則で「ツーブロック禁止」がゼロに [303493227]
- デフレ、円高👈こいつが叩かれた理由 [943688309]
- 野党「高市が私的見解を語って騒ぎになったことを国際社会に示し発言撤回、謝罪からの辞任が落とし所」 [289765331]
- ワイの好きなアニメがシュタインズゲート、魔法少女まどかマギカ、ガールズ&パンツァーなんやが
