私は動的linqを使用してデータを照会しようとしています。今私は(普通の)linqのようなクエリがあります:動的linqのナビゲーションプロパティに従います
from u in c.Users
from d in u.Documents
select d.DocumentID
私は動的linqでこれと同等のものを探しています。重要なのは、UserエンティティからDocumentエンティティへのナビゲート方法です。私のような何かを行うことができます:
c.Users.Select("new (UserName)");
しかし、もちろん、私は行うことはできません。
c.Users.Select("new (Documents.DocumentID AS DocumentID)");
は、私は私のような何かを行うことができるかもしれないと思った:
var q = c.Users.Select("Documents");
q.Select("new (DocumentID)");
をしかし、これにはありません作業。
where節にナビゲーションプロパティを使用した例がたくさんあります。私はwhere句では使用できましたが、selectでは使用できませんでした。私がやって誰かの一例見つけた
:
c.Users.SelectMany("Documents").Select("new (DocumentID)");
をただし、動的LINQはselectManyのサポートを持っていないようです。少なくとも、動的linqが含まれている場合は、文字列を入力として受け入れるselectmanyへのオーバーロードはありません。
正しい方向に私を押し込むことができる人はいますか?私はまた、 "ドキュメント"部分と選択リスト(この場合 "DocumentID"は動的であり、文字列入力によって決定できる)である限り、ダイナミックlinqを使わずにselectmanyを行う方法についての提案を歓迎するでしょう。
ある
ダイナミックLINQを使用しての全体のポイントは、私はプロパティ名が:) あるかわからないということですので、ラムダを使用することではありませんオプション – PaulVrugt