C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: LINQクエリで分岐


(過去ログ 91 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■54564 / inTopicNo.1)  LINQクエリで分岐
  
□投稿者/ nao (7回)-(2010/10/26(Tue) 15:56:29)

分類:[.NET 全般] 

LINQクエリに関して質問させてください。

LINQ TO SQLのクエリ内で分岐はできますでしょうか。

たとえば以下のようなクエリがあるとして
var query =
	from f in context.Fruit
	join m in context.Maker on f.makerID equals m.makerID
	where m.makerName == "花子"
	select new
		{
		…

関数の引数などの条件によって分岐して、
where句の条件に追加するようなことはできないのでしょうか。

調べてみた限りではそのようなことをしているものは見当たりませんでした。

よろしくお願いします。

引用返信 編集キー/
■54566 / inTopicNo.2)  Re[1]: LINQクエリで分岐
□投稿者/ 魔界の仮面弁士 (1892回)-(2010/10/26(Tue) 16:40:33)
No54564 (nao さん) に返信
> 関数の引数などの条件によって分岐して、
> where句の条件に追加するようなことはできないのでしょうか。

このあたりが参考になるかも。
http://www.atmarkit.co.jp/fdotnet/dotnettips/986dynamiclinq/dynamiclinq.html
http://d.hatena.ne.jp/coma2n/20080717/1216269202
引用返信 編集キー/
■54568 / inTopicNo.3)  Re[1]: LINQクエリで分岐
□投稿者/ shu (123回)-(2010/10/26(Tue) 17:55:07)
2010/10/26(Tue) 17:56:43 編集(投稿者)

No54564 (nao さん) に返信

and条件なら

query = from a in query where <条件>

とすれば
 m.makerName == "花子" と <条件>を
満たすSQLが発行されます。

Select部分は同様にして最後に記述すれば良いかと思います。
 
引用返信 編集キー/
■54578 / inTopicNo.4)  Re[2]: LINQクエリで分岐
□投稿者/ かたぎり (43回)-(2010/10/27(Wed) 00:29:00)
var query =
from f in context.Fruit
join m in context.Maker on f.makerID equals m.makerID
where funcA("花子",条件判定に使いたいパラメータ)
select new
{



funcAをBooleanで作成し、 条件を記述して、
Return でTrue/Falseすれば色々と細かな条件が指定できるかと。

このFuncAをLINQ内で一文でかけばラムダだし、別関数で定義して記述してもいいし。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -