gpt4 book ai didi

如果集合中的子项具有特定值,则用于选择父项的 nHibernate 标准

转载 作者:行者123 更新时间:2023-12-04 16:37:22 25 4
gpt4 key购买 nike

如果我有以下类结构,那么如果其中一个子项具有特定名称,则选择父项的 NHibernate 标准是什么?

 public class Child
{
public int Id { get; set; }
public int Name { get; set; }
}

public class Parent
{
public int Id { get; set; }
public IList<Child> Children { get; set; }
}

最佳答案

我只是为集合创建一个别名并添加限制。

var parentsWithKidName = session.CreateCriteria<Parent>()
.CreateAlias("Children", "c", JoinType.InnerJoin)
.Add(Restrictions.Eq("c.Name", childName))
.SetResultTransformer(Transformers.DistinctRootEntity())
.List<Parent>();

这会导致
select p.* 
from parent p
inner join child c on /* however it's mapped? */
where c.Name = ?

不同的根实体转换器将处理结果集并删除重复的父项。尽管如此,他们仍然遇到了电线。

关于如果集合中的子项具有特定值,则用于选择父项的 nHibernate 标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2729599/

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