gpt4 book ai didi

NHibernate JoinQueryOver 返回所有子类型条目

转载 作者:行者123 更新时间:2023-12-01 06:07:54 25 4
gpt4 key购买 nike

我知道有很多类似的主题,但我找不到我正在寻找的答案。

我有 Message带有 Receivers 的列表.我正在尝试获取状态为 new 的所有消息和 A 类型的接收器.我收到所有具有相应接收器但具有所有接收器的消息。我只想得到我感兴趣的接收器。

这是我正在尝试使用的内容:

var messages = session.QueryOver<MessageDTO>()
.Where(message => message.State == MessageState.New)
.JoinQueryOver<MessageReceiverDTO>(message => message.MessageReceivers)
.Where(receiver => receiver.Type == ReceiverType.A)
.TransformUsing(Transformers.DistinctRootEntity)
.List();
//.Where(message => message.MessageReceivers.Count > 0)
//.ToList();

有这方面的帮助会很棒。我也尝试使用 Select用于从查询中获取消息和接收器,但这也不起作用。

最佳答案

尝试使用别名 QueryOver:

MessageDTO messageAlias = null;
MessageReceiverDTO receiverAlias = null;

var query =
session.QueryOver<MessageDTO>(() => messageAlias)
.JoinAlias(() => messageAlias.Receivers, () => receiverAlias)
.Where(() => messageAlias.State == MessageState.New)
.And(() => receiverAlias.Type == ReceiverType.A);

关于NHibernate JoinQueryOver 返回所有子类型条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36286208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com