gpt4 book ai didi

c# - 错误 : "Cannot simultaneously fetch multiple bags" when calling Configuration. BuildSessionFactory();

转载 作者:行者123 更新时间:2023-11-30 13:34:42 24 4
gpt4 key购买 nike

升级到 NHibernate 2.1 后出现此错误。

[QueryException: Cannot simultaneously fetch multiple bags.]
NHibernate.Loader.BasicLoader.PostInstantiate() +418
NHibernate.Loader.Entity.EntityLoader..ctor(IOuterJoinLoadable persister, String[] uniqueKey, IType uniqueKeyType, Int32 batchSize, LockMode lockMode, ISessionFactoryImplementor factory, IDictionary`2 enabledFilters) +123
NHibernate.Loader.Entity.BatchingEntityLoader.CreateBatchingEntityLoader(IOuterJoinLoadable persister, Int32 maxBatchSize, LockMode lockMode, ISessionFactoryImplementor factory, IDictionary`2 enabledFilters) +263
NHibernate.Persister.Entity.AbstractEntityPersister.CreateEntityLoader(LockMode lockMode, IDictionary`2 enabledFilters) +26
NHibernate.Persister.Entity.AbstractEntityPersister.CreateLoaders() +57
NHibernate.Persister.Entity.AbstractEntityPersister.PostInstantiate() +1244
NHibernate.Persister.Entity.SingleTableEntityPersister.PostInstantiate() +18
NHibernate.Impl.SessionFactoryImpl..ctor(Configuration cfg, IMapping mapping, Settings settings, EventListeners listeners) +3261
NHibernate.Cfg.Configuration.BuildSessionFactory() +87

在不进入 NHibernate 源代码的情况下,我看不出是哪个映射导致了问题。

这是一个非常古老的应用程序,有大量的映射文件,很多映射中都有一对多的包,都是惰性实例化的。

例如:

    <bag name="Ownership" lazy="true" cascade="all" inverse="true" outer-join="auto" where="fkOwnershipStatusID!=6">
<key column="fkStakeHolderID"/>
<one-to-many class="StakeholderLib.Ownership,StakeholderLib" />
</bag>

映射到:

public virtual IList Ownership {
get {
if (ownership == null)
ownership = new ArrayList();
return ownership;
}
set { ownership = value; }
}

有没有人在升级到 NHibernate 2.1 之前看到过这个错误?

最佳答案

另一种方法是将集合映射为一个集合。在 Nhibernate 4+ 中,set 集合映射到 .NET 4+ 中的 ISet

我发现由于 .NET 中缺少集合集合,我使用了很多包映射,现在有了它,我可以愉快地更改我的类和映射。

关于c# - 错误 : "Cannot simultaneously fetch multiple bags" when calling Configuration. BuildSessionFactory();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403868/

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