Fluent nhibernate 问题,查询

Fluent nhibernate 问题,查询,fluent-nhibernate,nhibernate.search,nhibernate-criteria,Fluent Nhibernate,Nhibernate.search,Nhibernate Criteria,我真的很感激你能帮我解决这个问题 类L持有R的集合,R持有Q的集合。 R的每个实例可以存在于L的多个实例中,Q的每个实例可以存在于R的多个实例中 一切都很好,除了我有一个函数,我不知道如何写 我有一个函数,它接收一个R和Q的实例/对象。因此,对于R和Q,我想通过L查询,找出R在哪里使用。我还想知道Q是否被使用,以及在哪里被使用 谢谢你的信息和帮助 修订版:修复打字错误 R myR = ...; Q myQ = ...; var LsWithMyRandFlagIfQisUSed = sessi

我真的很感激你能帮我解决这个问题

类L持有R的集合,R持有Q的集合。 R的每个实例可以存在于L的多个实例中,Q的每个实例可以存在于R的多个实例中

一切都很好,除了我有一个函数,我不知道如何写

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


谢谢你的信息和帮助

修订版:修复打字错误

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)),
    });
R myR=。。。;
Q myQ=。。。;
var LsWithMyRandFlagIfQisUSed=session.QueryOver()
.JoinQueryOver(l=>l.Rs)
.Where(r=>r.Id==myR.Id)
.List()
.选择(l=>new
{
L=L,
QisUsed=l.Rs.Any(r=>r.Qs.Contains(myQ)),
});
编辑:添加了linq语法尚未测试

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)),
    });
R myR=。。。;
Q myQ=。。。;
var LsWithMyRandFlagIfQisUSed=
从session.Query()中的l开始
其中l.Rs.包含(myR)
选择新的
{
L=L,
QisUsed=l.Rs.Any(r=>r.Qs.Contains(myQ)),
});

我忘了回答这里的问题。谢谢你的尝试,但是我不能让它正常工作。有什么问题吗?也许我可以修复它,我知道了,我用一个例子试过了,然后为你的名字重写了它,还弄错了。谢谢,我要试一下。我是queryover的新手,还没有时间完全理解它的语法和我一直在紧张的时间表下的额外功能。我觉得这有点棘手。。糟糕的是,他们无法覆盖linq/lambda..他们也有。只需
使用NHibernate.Linq
,您就可以在Session.Query()中使用l中的
,其中…