0

私が抱えている問題について何か助けていただければ幸いです。

クラス L は R のコレクションを保持し、R は Q のコレクションを保持します。R の各インスタンスは L の複数のインスタンスに存在でき、Q の各インスタンスは R の複数のインスタンスに存在できます。

書き方がわからない関数があることを除いて、すべて正常に動作しています。

R と Q のインスタンス/オブジェクトを受け取る関数があります。したがって、R と Q を使用して、L に対してクエリを実行し、R が使用されている場所を見つけたいと思います。また、Q が使用されているかどうか、どこで使用されているかを調べたいと思います。

情報と助けをありがとう!

4

1 に答える 1

1

改訂: タイプミスを修正

R myR = ...;
Q myQ = ...;

var LsWithMyRandFlagIfQisUSed = session.QueryOver<L>()
    .JoinQueryOver(l => l.Rs)
    .Where(r => r.Id == myR.Id)
    .List<L>()
    .Select(l => new
    {
        L = l,
        QisUsed = l.Rs.Any(r => r.Qs.Contains(myQ)),
    });

編集:linq構文hant testetを追加

R myR = ...;
Q myQ = ...;

var LsWithMyRandFlagIfQisUSed =
    from l in session.Query<L>()
    where l.Rs.Contains(myR)
    select new 
    {
        L = l,
        QisUsed = l.Rs.Any(r => r.Qs.Contains(myQ)),
    });
于 2011-08-29T07:43:58.510 に答える