Estou tentando salvar um registro no banco de dados postgres, e estou
com o seguinte erro:
Index was out of range. Must be non-negative and less than the size of
the collection.
Parameter name: index
Eu tô achando que é algo no Mapping do Id, abaixo segue os códigos,
poderiam me dar um help ?
#TRECHO QUE CHAMA O SAVE
CmsUsuarioTipoPagina objUsuarioTipoPagina = new CmsUsuarioTipoPagina();
objUsuarioTipoPagina.IdCmsUsuarioTipo = Id;
objUsuarioTipoPagina.IdCmsPagina = Convert.ToInt32(item.Value);
siteDaoFactory.CmsUsuarioTipoPaginaDAO.Save(objUsuarioTipoPagina);
#METODO SAVE NA GENERICDAO
public T Save(T entity)
{
NHibernateSession.Save(entity);
NHibernateSession.Flush();
return entity;
}
#MAPPING
public CmsUsuarioTipoMap() {
Table("cms_usuario_tipo");
Schema("public");
LazyLoad();
Id(x => x.IdCmsUsuarioTipo).GeneratedBy.Identity().Column("id_cms_usuario_tipo");
Map(x => x.Nome).Column("nome").Not.Nullable();
Map(x => x.IsAtivo).Column("is_ativo").Not.Nullable();
HasMany(x => x.CmsUsuarioList).KeyColumn("id_cms_usuario_tipo");
HasMany(x =>
x.CmsUsuarioTipoPaginaList).KeyColumn("id_cms_usuario_tipo");
}
Muito Obrigado
Att.
Leonardo Lima
Se atualizando acabei de testar trocando o mapping de Identity() pra
Sequence("nome_da_sequence") mas não deu certo continua no msmo
erro...
Já isolei o codigo estou criando um novo obj e tentando salvar em uma
pagina em separado mas nada do erro mudar :/
fico no aguardo
Muito obrigado
Att.
Leonardo Lima
Em 1 de setembro de 2011 11:22, Leonardo Lima
<goo...@leonardolima.com.br> escreveu:
Agora que consegui um tempo para postar a solução, vamos lá...
1) O erro do index estava acontecendo pq eu estava mapeando a mesma
coluna para 2 coisas diferentes... em outra classe havia
Map(x=> x.IdOutraClasse).Column("id_outra_classe");
e tbm
References(x=>x.ObjOutraClasse).Column("id_outra_classe");
Retirei o map e funcionou, depois eu tive outro problema,a quando ao
Id, GeneratedBy().Identity() não funcionou, tive de colocar
GeneratedBy().Sequence("nome_da_sequence"), eu não gostei muito disso,
pq eu acabei travando o banco de dados em Postgres, se alguem souber
como fazer por Identity() para que eu não fique preso a uma tecnologia
do banco eu agradeco....
Mas enfim, depois de umas horas revisando classes, esta pronto...
Muito obrigado a todos :D
Att.
Leonardo Lima
Em 1 de setembro de 2011 18:58, João Carlos Clementoni Silva
<joa...@gmail.com> escreveu:
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo
> "NHibernate-Br" dos Grupos do Google.
> Para ver esta discussão na web, acesse
> https://groups.google.com/d/msg/nhibernate-br/-/PaPOXhSsJLgJ.
> Para postar neste grupo, envie um e-mail para
> nhiber...@googlegroups.com.
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> nhibernate-b...@googlegroups.com.
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/nhibernate-br?hl=pt-BR.
>