当前位置: 首页 > 面试题库 >

具有Count =的此SqlParameterCollection的无效索引n

叶晋
2023-03-14
问题内容

例外情况:

具有Count =的此SqlParameterCollection的无效索引n

通常指向重复的映射信息(请参见Stack Overflow + Google)。我很确定我没有。还有其他原因吗?

我似乎已经确定了问题所在。我介绍了这个:

[DocumentId]
public virtual int GI
{
    get { return base.Id; }
    protected set { base.Id = value; }
}

通过lucene.net使用搜索。这似乎会干扰FNH!我在这里有什么选择?

PS:

at System.Data.SqlClient.SqlParameterCollection.RangeCheck(Int32 index)
   at System.Data.SqlClient.SqlParameterCollection.GetParameter(Int32 index)
   at System.Data.Common.DbParameterCollection.System.Collections.IList.get_Item(Int32 index)
   at NHibernate.Type.Int32Type.Set(IDbCommand rs, Object value, Int32 index)
   at NHibernate.Type.NullableType.NullSafeSet(IDbCommand cmd, Object value, Int32 index)
   at NHibernate.Type.NullableType.NullSafeSet(IDbCommand st, Object value, Int32 index, ISessionImplementor session)
   at NHibernate.Persister.Entity.AbstractEntityPersister.Dehydrate(Object id, Object[] fields, Object rowId, Boolean[] includeProperty, Boolean[][] includeColumns, Int32 table, IDbCommand statement, ISessionImplementor session, Int32 index)
   at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Boolean[] notNull, Int32 j, SqlCommandInfo sql, Object obj, ISessionImplementor session)
   at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object id, Object[] fields, Object obj, ISessionImplementor session)
   at NHibernate.Action.EntityInsertAction.Execute()
   at NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
   at NHibernate.Engine.ActionQueue.ExecuteActions(IList list)
   at NHibernate.Engine.ActionQueue.ExecuteActions()
   at NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions(IEventSource session)
   at NHibernate.Event.Default.DefaultFlushEventListener.OnFlush(FlushEvent event)
   at NHibernate.Impl.SessionImpl.Flush()
   at SharpArch.Data.NHibernate.DbContext.CommitChanges()
   at Updater1.Program.Main(String[] args) in C:\Users\bla\Documents\Visual Studio 2010\Projects\Bla\Updater1\Program.cs:line 97

PPS:

public class MappedSequenceMap : IAutoMappingOverride<MappedSequence>
    {
        public void Override(AutoMapping<MappedSequence> mapping)
        {
            mapping.Id(x => x.Id, "GI").GeneratedBy.Assigned();

            mapping.Map(x => x.Affiliation).Length(10000);
            mapping.Map(x => x.Gene).Length(10000);
            mapping.Map(x => x.OriginalIsolationCountry).Length(10000);
            mapping.Map(x => x.OriginalAffiliation).Length(10000);
            mapping.Map(x => x.PMIDs).Length(10000);
            mapping.Map(x => x.Product).Length(10000);
            mapping.Map(x => x.Fasta).Length(10000);
            mapping.Map(x => x.Note).Length(10000);
            mapping.Map(x => x.Strain).Length(10000);

            mapping.HasManyToMany(x => x.PubmedPublications).Table("SequencesPubmedPublications");
        }
    }

问题答案:

答案是:

a)您在相同的类中映射了一个重复的属性

b)如果<many-to-one ...要向映射文件中的相关实体公开外键并使用a ,则是可能的。如果是这种情况,请添加 insert="false" and update="false"到外键属性,然后再次运行。

为了验证这一点,在使用流利和自动映射时,您需要查看XML映射。请参阅此[link]
[2]和使用ExportTo(..)方法。完成此操作后XML,请查看,看看是否有重复的属性,甚至没有重复的映射文件。

在这种情况下,您有两个对column的引用GI

<id name="Id" ...>
  <column name="GI" />
  <generator class="assigned" />
</id>

<property name="GI" ...>
  <column name="GI" />
</property>

我认为您不能[DocumentId]Idclass属性上设置注释。我认为您可能需要放弃此类的自动映射,并通过流畅的手动配置!



 类似资料:
  • 我升级了jboss 7到10,但有一个奇怪的错误,我不明白为什么 例外情况: 原因:java.sql.SQLException:oracle.jdbc.driver.OraclePreparedStatementWrapper.setLongInternal(OraclePreparedStatement.java:4901)处的oracle.jdbc.driver.OraclePreparedS

  • 问题内容: 我正在尝试创建一个,但是在方法中添加一些错误。 请帮助我如何添加参数以及如何将其传递给在其中声明a和的另一个函数。 我的另一个功能是insertData(…) 我正在尝试创建一个并将其传递给函数。但是,当我在第一个函数中调用方法时,它将引发错误。 错误是 你调用的对象是空的 问题答案: 如果不调用其构造函数(新),则不能使用任何变量(例如,参考对象),但是不能使用新变量直接对其进行初始

  • 我一直在使用bouncy castle生成自签名证书,在更新计算机A上运行的win7操作系统之前,一切都很顺利。更新后,使用CERTMGR查看证书时,证书出现以下错误:此证书具有无效的数字签名。 同一证书不会在未收到Microsoft安全更新的另一台计算机(B)上显示错误。然后,我在B上生成了一个没有错误的新证书,然后将其安装在a上,出现了相同的错误。(此证书的数字签名无效。) 我回到弹跳城堡并运

  • 问题内容: 我有一个索引元组数组,我想用它从多维numpy数组中选取值, 理解只有在已知的情况下才有效。 有什么提示吗? 问题答案: 您可以将的转置版本转换为元组,然后为矢量化解决方案建立索引-

  • 我有一个关于<code>df之间的区别的问题。loc和处。我一直在查看stackoverflow中的一些精彩资源,但它似乎没有阐明我的问题。特别是这一个……熊猫。at vs.loc(或者至少我不完全理解这里展示的是什么)。 根据熊猫留档,https://pandas-docs.github.io/pandas-docs-travis/generated/pandas.DataFrame.at.ht

  • 我的集合中有两个数组(一个是嵌入式文档,另一个只是字符串的简单集合)。文档,例如: 由于一些查询将仅包含策略,而一些查询将包含标签和参与者数组,并且考虑到我无法创建具有两个数组的多键索引这一事实,我认为使用索引交叉点将是一个经典场景。 我正在执行一个查询,但我看不到交叉点。 以下是索引: 以下是查询: 这是解释的结果: 查询中的每个标记(tag1、tag-2和tag-3)都有10K个文档。每个策略