gpt4 book ai didi

c# - 使用 Nhibernate 过滤与聚合根一起返回的子集合

转载 作者:太空狗 更新时间:2023-10-29 23:12:05 24 4
gpt4 key购买 nike

在使用 Nhibernate 加载时,我正在尝试过滤聚合根的子集合。加载客户所有已发货的订单。这可能吗?

最佳答案

好吧,您可以公开在 map 中过滤的属性,如下所示:

<bag name="shippedOrders" ... where="Status == 'Shipped'" >
<key column="CustomerId" />
<one-to-many class="Order" />
</bag>

'where' 属性是任意 SQL。

理论上,您可以拥有 Customer、Orders 和 ShippedOrders 的两个属性。但是,我应该说我还没有这样做,我想测试 NH 在这种情况下如何处理级联。在任何情况下,当添加/删除新项目时,您都必须注意它们是否已正确添加/删除到两个集合中。

您想要这样做的事实让我们想知道 Order 是否是聚合根。从长远来看,这样做可能会减少麻烦:

orderRepository.GetOrders(int customerId, OrderStatus[] statuses)

关于c# - 使用 Nhibernate 过滤与聚合根一起返回的子集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/247571/

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