session.Save上的NHibernate错误

Mal*_*olm 7 nhibernate

我有一个使用NHibernate的MVC应用程序.

我创建了一个模型并尝试使用NHibernate首次将数据插入到数据库中,所以请放心.

我在session.Save(object)上得到了这个错误;

IndexOutOfRangeException未被用户代码处理

此SqlParameterCollection的索引8无效,Count = 8.

当我使用监视窗口查看对象中的数据时,一切似乎都正常,并且集合也是初始化的.

使用SQL 2005.

有什么想法可能会发生吗?

马尔科姆

fre*_*rik 12

我自己也使用NHibernate遇到了同样的问题,我的情况就是映射中的问题.在我的关联上,我已经映射了包含关联实体的属性,以及仅包含关联ID的属性.

在我的情况下,解决方案是添加update="false" insert="false"到包含ID的属性的映射.像这样:

<property name="AssociationId" column="AssociationColumnName" update="false" insert="false" />
<many-to-one name="Association" column="AssociationColumnName" property-ref="Id" not-null="false" />
Run Code Online (Sandbox Code Playgroud)


Jam*_*Ide 0

这些链接之一有帮助吗?

http://groups.google.com/group/nhusers/browse_thread/thread/34f124a7052c37ff

http://www.methodicmadness.com/2009/01/nhibernate-what-is-heck-clazz.html

http://groups.google.com/group/ Fluent-nhibernate/browse_thread/thread/116c822c44aae797

如果没有,您将必须发布您的映射以获得更多建议。

我建议首先将插入隔离到单元测试中来解决此问题。