Hi,
I am trying insert a row into my DB.
The error I get is
System.IndexOutOfRangeException: Invalid index 8 for this SqlParameterCollection with Count=8..
Any ideas why??
Malcolm
The enity is defined as .
Code:
public RecipeMap()
{
WithTable("Recipes");
Id(x => x.RecipeID).GeneratedBy.Identity();
Map(x => x.RecipeTitle);
Map(x => x.PrepTime);
Map(x => x.CookTime);
Map(x => x.Method);
Map(x => x.Rating);
Map(x => x.EnteredByID);
Map(x => x.ModifiedOn);
Map(x => x.Completed);
References<User>(x => x.User).ColumnName("EnteredByID");
HasMany<Ingredient>(x => x.Ingredients)
.KeyColumnNames.Add("RecipeID")
.Inverse()
.Cascade.All()
.AsBag();
HasMany<Comment>(x => x.Comments)
.KeyColumnNames.Add("RecipeID")
.Inverse()
.Cascade.All()
.AsBag();
HasMany<RecipeImage>(x => x.Images)
.KeyColumnNames.Add("RecipeID")
.Inverse()
.Cascade.All()
.AsBag();
}
The stack trace is the following.
System.Data.SqlClient.SqlParameterCollection.RangeCheck(Int32 index)
System.Data.SqlClient.SqlParameterCollection.GetParameter(Int32 index)
System.Data.Common.DbParameterCollection.System.Collections.IList.get_Item(Int32 index)
NHibernate.Type.NullableType.NullSafeSet(IDbCommand cmd, Object value, Int32 index)
NHibernate.Type.NullableType.NullSafeSet(IDbCommand st, Object value, Int32 index, Boolean[] settable, ISessionImplementor session)
NHibernate.Type.ManyToOneType.NullSafeSet(IDbCommand st, Object value, Int32 index, Boolean[] settable, ISessionImplementor session)
NHibernate.Persister.Entity.AbstractEntityPersister.Dehydrate(Object id, Object[] fields, Object rowId, Boolean[] includeProperty, Boolean[][] includeColumns, Int32 table, IDbCommand statement, ISessionImplementor session, Int32 index)
NHibernate.Persister.Entity.AbstractEntityPersister.Dehydrate(Object id, Object[] fields, Boolean[] includeProperty, Boolean[][] includeColumns, Int32 j, IDbCommand st, ISessionImplementor session)
NHibernate.Persister.Entity.AbstractEntityPersister.GeneratedIdentifierBinder.BindValues(IDbCommand ps)
NHibernate.Id.Insert.AbstractReturningDelegate.PerformInsert(SqlCommandInfo insertSQL, ISessionImplementor session, IBinder binder)
NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[] fields, Boolean[] notNull, SqlCommandInfo sql, Object obj, ISessionImplementor session)
NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[] fields, Object obj, ISessionImplementor session)
NHibernate.Action.EntityIdentityInsertAction.Execute()
NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate(Object entity, EntityKey key, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
NHibernate.Event.Default.AbstractSaveEventListener.PerformSave(Object entity, Object id, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId(Object entity, String entityName, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event)
NHibernate.Event.Default.DefaultSaveEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event)
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient(SaveOrUpdateEvent event)
NHibernate.Event.Default.DefaultSaveEventListener.PerformSaveOrUpdate(SaveOrUpdateEvent event)
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(SaveOrUpdateEvent event)
NHibernate.Impl.SessionImpl.FireSave(SaveOrUpdateEvent event)
NHibernate.Impl.SessionImpl.Save(Object obj)
OurRecipes.Tests.DomainTests.RecipeTest.CanAddRecipeToDatabase() in C:\Users\Malcolm\Documents\Visual Studio 2008\Projects\MVC\OurRecipesMVCApp\OurRecipes.Tests\DomainTests\RecipeTest.cs: line 82