gpt4 book ai didi

NHibernate:将实体添加到延迟加载的多对多关系中

转载 作者:行者123 更新时间:2023-12-04 15:49:05 26 4
gpt4 key购买 nike

我们有一个多对多集合的实体映射为一个延迟加载的包。当我们加载实体时,集合没有加载 - 很好。现在我们要向该集合添加一个新实体。一旦我们这样做,集合就会被加载。

我们如何在不加载整个集合的情况下添加新实体(集合很大)?

最佳答案

这种行为的原因是您在向其 Add() 一个新项目时引用了您的集合。此引用触发延迟加载。

我发现在 NHibernate 中最好避免显式的多对多映射。我通常使用两个一对多关联到第三个实体,它的工作方式类似于链接表。确保将关系的多方面设置为 inverse="true"。然后就可以直接执行:
session.Save(new LinkEntity(leftSideInstanceOrProxy, rightSideInstanceOrProxy);
另一个好处是通常有关于您要保存的关系的信息,这些信息也可以进入新实体。

关于NHibernate:将实体添加到延迟加载的多对多关系中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2289173/

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