Não faça isso!
Outro dia estava mexendo com GUIDs com NHibernate e Mysql e publiquei o seguinte post:
Procurei de diversas maneiras como colocar Guid em mysql usando NHibernate. NHibernate até aceita, quando vai validar o banco, que você use o binary(16), mas, na hora de gravar, reclama que o valor é muito grande para o campo.
Continuei procurando e diversas pessoas recomendam que se use varchar(36) (32 caracteres alfanuméricos + 4 traços). Procurando "nhibernate mysql guid as binary" encontrei este link do stackoverflow:
http://stackoverflow.com/questions/1295007/problem-with-nhibernate-mysql-and-guids
Colocando "old guids=true;" no final da connection string é o NHibernate consegue salvar o valor na base (se o último caracter não for ";", lembre de colocar um ";" antes).
Hoje descobri que o programa passou a interpretar qualquer coisa com 32 caracteres de 0 a F como guid e reclamar. O jeito que encontrei foi recriar a base de dados.
Então... NÃO FAÇA ISSO! Use varchar(38) e seja feliz.
Nenhum comentário:
Postar um comentário