gpt4 book ai didi

NHibernate 多对多效率低下?

转载 作者:行者123 更新时间:2023-12-04 01:26:38 24 4
gpt4 key购买 nike

我正在尝试使用 NHibernate 和 Fluent NHibernate 设置示例项目。我正在使用 example mappings来自 Fluent NHibernate 网站。

我的问题是关于 Store 和 Product 之间的多对多映射。看起来(在查看生成的 SQL 时),在将产品添加到商店时,NHibernate 从属于该商店的关联表 (StoreProduct) 中删除所有记录,然后再次插入所有记录,现在包括关联到我添加的新产品。

这是默认行为还是我遗漏了什么?每次我需要添加一个关联时,删除并重新插入所有关联似乎不是很有效。

最佳答案

这是预期的行为。我相信这应该只有在您使用他们在示例中使用的 bag 映射策略时才会发生。一个袋子表示有一个无序的集合,可以有重复的项目。因为包中的项目不是唯一的,所以 NHibernate 无法轻易判断您何时从包中添加或删除了项目。 NHibernate 最简单的事情就是删除所有关联,然后重新添加。

自从我玩多对多映射以来已经有一段时间了(我通常只映射为两个一对多关系)但我相信如果你使用不同的结构,例如,一个集合(不允许重复)你应该发现行为是不同的。当然,您应该使用对您的应用程序最具语义意义的任何构造。

关于NHibernate 多对多效率低下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1906923/

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