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 语法没有 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 回答