此 SqlParameterCollection 的 Count=4 的索引 4 无效。

来源:互联网 发布:php erp系统 编辑:程序博客网 时间:2024/03/29 16:40
NHibernate在做Update()时,报错: 此 SqlParameterCollection 的 Count=4 的索引 4 无效。

原因:
            mapping.Map(u => u.OrganizationId).Column("OrganizationId");
            mapping.References(u => u.Organization).Column("OrganizationId").NotFound.Ignore();
将OrganizationId列映射了两次。

解决方案:

    试了一下,改成

            mapping.Map(u => u.OrganizationId).Column("OrganizationId").Not.Insert().Not.Update();
            mapping.References(u => u.Organization).Column("OrganizationId").NotFound.Ignore();

            mapping.Map(u => u.OrganizationId).Column("OrganizationId");
            mapping.References(u => u.Organization).Column("OrganizationId").NotFound.Ignore().Not.Insert().Not.Update();
都可以。

参考:
http://stackoverflow.com/questions/8062068/nhibernate-error-message-invalid-index-3-for-this-sqlparametercollection-with-c
http://stackoverflow.com/questions/18125692/invalid-index-6-for-this-sqlparametercollection-with-count-6

0 0
原创粉丝点击