DefaultIfEmpty()にLinq To Objectを指定すると、サポートしてないわよ!って怒られる。
ホントにサポートしてないみたいなんです。
引数なしにするとエラーは出ないが、null が返ってくる。(Defaultは?)
どうするかっつーと、
var q = from user in mtUser
join userGroup in rtGroup
on new { ID = user.USER_ID } equals new { ID = userGroup.USER_ID } into uGroups
from uGroup in uGroups.DefaultIfEmpty()
select new {
USER_ID = user.USER_ID,
GROUP_ID = uGroup != null ? uGroup.GROUP_ID : "<グループなし>",
USER_NAME = user.USER_NAME
};
select部分でnullだったら初期値ってするんですって。
参考サイト:http://social.msdn.microsoft.com/Forums/ja-JP/netfxgeneralja/thread/e32208fd-bd11-4a70-96c1-fce653081c51
でもこれだと、更に結合してる場合にはselectできないので、この方法だと解決できない。
0 件のコメント:
コメントを投稿