gpt4 book ai didi

nhibernate - 当数据库中的列为 Null 时,是什么导致了 "Invalid index nn for this SqlParameterCollection with Count=nn"?

转载 作者:行者123 更新时间:2023-11-30 23:53:48 27 4
gpt4 key购买 nike

对于住宿实体,我们有两列可以为空:CollectionTypeAccommodationUnitType .

但是我注意到在数据中它们被设置为零而不是空,导致 NHibernate 尝试查找 id 为 0 的实体。这是很多额外的不必要的数据库调用,所以我将数据库中的相关数据更新为 NULL,突然间我得到了一个很大的错误:

"Invalid index 24 for this SqlParameterCollection with Count=24"



这是我正在使用的映射覆盖:
    public void Override(AutoMapping<Core.Entities.Itinerary.Accommodation.Accommodation> mapping)
{
...
mapping.References(x => x.CollectionType).Nullable();//.Not.LazyLoad();
mapping.References(x => x.AccommodationUnitType).Nullable();//.Not.LazyLoad();
Cache.Is(c => c.ReadWrite());
}

谷歌有很多答案似乎与我的问题没有任何关系。

有任何想法吗?

编辑
有关信息,属性是实体,因此可以为空:
public virtual AccommodationUnitType AccommodationUnitType { get; set; }
public virtual AccommodationCollectionType CollectionType { get; set; }

最佳答案

“CollectionType”和“AccommodationUnitType”都指定为“int”吗?

使用空值时,您需要将它们都指定为“int?”。

不确定这是否是您遇到的问题,但它为我纠正了类似的问题。

public virtual int? CollectionType {get;set;}
public virtual int? AccommodationUnitType {get;set;}

关于nhibernate - 当数据库中的列为 Null 时,是什么导致了 "Invalid index nn for this SqlParameterCollection with Count=nn"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4861071/

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