此異常:臭名昭著:無效指數n此SqlParameterCollection以計數=
無效指數n此SqlParameterCollection以計數=
在重複的映射信息通常指向(見堆棧溢出+谷歌)。我很確定我沒有。有沒有其他原因呢?
我似乎已經發現了這個問題。我介紹了這個:
[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");
}
}
我說我用Google搜索和搜索(看問題)!!!沒有涉及HQL,因爲它是通過s#arp存儲庫實體的簡單Save()。 – cs0815
我會重新發布完整的異常(exception.ToString()),併發布相關的映射只是爲了確保。 –
由於您的編輯,需要查看有問題的實體 – Rippo