gpt4 book ai didi

nHibernate 集合计数

转载 作者:行者123 更新时间:2023-12-04 21:27:00 30 4
gpt4 key购买 nike

我有以下模型,我用 nHibernate 创建并映射了它。
使用延迟加载,所以我不需要在开始时为经销商获取车辆。

Public class Dealer
{
public virtual string Name { get;set;}
public virtual IList<Vehicles> Vehicles { get;set;}
}

现在让我们假设经销商有数千辆汽车。

如果我这样做 Dealer.Vehicles.Count然后NH将选择并拉取所有数据。

简单地计数的最佳方法是什么?有没有什么方法可以让我得到计数​​,而无需在 Dealer Class 中声明一个新的属性(property)dealerCount?

Hibernate 中还有一个功能,我相信它将在新版本的 NH 中实现,称为 Extra Lazy Loading。这能解决问题吗?

最佳答案

额外的延迟加载会发出 sql 而不是为某些操作填充集合,例如 CountContains .在流畅的映射中,它用作:

HasMany(x => x.CollectionProperty).ExtraLazyLoad();

或 HBM
<one-to-many lazy="extra" ...

只有当你有大量的集合并且需要特殊的行为时,它才有用。

关于nHibernate 集合计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1757252/

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