0

我真的很感谢我遇到的一些问题。流利的nhibernate问题,查询

L类持有R的集合和R持有Q. 的集合R每次实例可以存在为L的多个实例和Q的每个实例可以在R.

的几个实例

一切存在工作正常,除了我有一个函数,我不知道如何编写。

我有一个函数接收R和Q的实例/对象。因此,对于R和Q,我想通过L查询并找出R在哪里使用。我也想知道Q是否被使用和在哪里。

感谢您的信息和帮助!

回答

1

修订:固定misstyping

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)), 
    }); 
+0

它接缝我忘了在这里回答。谢谢你的尝试,但我无法让它正常工作。 – Johan

+0

最新的问题是什么?也许我可以修复它 – Firo

+0

你是说这适合你吗? – Johan