Quando criei esse blog, a intenção é registrar as minhas experiências para consultas futuras. A maioria dos casos são de situações que não é tão fácil de se encontrar, até mesmo na Internet, ou coisas que só a experiência pode te ajudar.
Em todos os casos, existia um problema e uma solução lógica, mas acabou de acontecer comigo, um problema que resolveu de uma maneira tão inusitada e ilógica, que vale a pena documentar. Mas como é algo que não sei como explicar o motivo, criei essa nova seção: O Arquivo de Casos Inexplicáveis.
Não é a primeira vez que tenho um Caso Inexplicável, mas acho interessante começar a registrá-los. Mas chega de enrolar, e vamos ao caso.
Estava realizando uma modificação em um módulo aqui onde trabalho e precisei modificar uma Stored Procedure num banco SQL Server. Então, para ter certeza que as modificações estavam fazendo efeito, tive a ideia: vou deixar um breakpoint onde é executado a Stored Procedure (SP) no código e verificar o que retorna pelo debugger.
Aí começou meu inferno, depois de atualizar o Entity Framework para aceitar a nova SP, e testar, sempre que tentava visualizar o seu dado, via que a execução deu um erro e quando deixava passar, uma Exception era lançada.
Não entendi nada, deletei a SP, atualizei a Entity Framework e reinseri a SP, para adicioná-la novamente, restaurava o código do repositório, testava a SP no próprio banco de dados, e nada resolvia o erro.
Até que, por um motivo, eu resolvi tirar o breakpoint. A partir daí, o módulo voltava a sua execução normal com a SP modificada. Eu não sei a razão do Entity Framework bugar quando tento depurar, aliás, esses tipos de bugs tem até um nome que o classifica: Heinsenbug, ou seja, a tentativa de eu tentar verificar o problema altera o comportamento do objeto a ser observado.
Entretanto, esse Heinsenbug é um problema do Entity Framework, então, acredito que não tem muito que eu possa fazer.
Blog onde registro todas as minhas pesquisas e compartilhando as mesmas para quem esteja interessado.
Mostrando postagens com marcador Entity Framework. Mostrar todas as postagens
Mostrando postagens com marcador Entity Framework. Mostrar todas as postagens
quarta-feira, 9 de agosto de 2017
quinta-feira, 3 de agosto de 2017
C#/Entity Framework: Bug ao atualizar o modelo => Duplicação de Código
Um bug que aconteceu comigo: estava tentando adicionar uma tabela do banco para o modelo, entretanto, quando a tabela é adicionada, ao atualizar os códigos internos do framework, acontecia um bug: basicamente o código gerado ficava duplicado, triplicado, n-plicado.
Descobri que o problema era causado porque a tabela em questão possuía um campo do tipo "TEXT". Alterei a tabela para VARCHAR(4000) e funcionou de boa.
Moral da história: Não use campo do tipo TEXT se for usar Entity Framework.
Descobri que o problema era causado porque a tabela em questão possuía um campo do tipo "TEXT". Alterei a tabela para VARCHAR(4000) e funcionou de boa.
Moral da história: Não use campo do tipo TEXT se for usar Entity Framework.
sexta-feira, 18 de novembro de 2016
C# - Entity Framework: System.TypeLoadException
Estava eu precisando fazer o deploy de um site num servidor e eis que o site veio com este erro: "System.TypeLoadException: Could not load type 'System.Data.Entity.Infrastructure.TableExistenceChecker'".
Foi difícil entender o que aconteceu, mas esse é um erro que ocorre muito comum quando se usa a Entity Framework de diversas versões. No meu caso, aconteceu que o framework instalado no servidor era de uma versão diferente das que eram usados no projeto, e isso causava este erro.
Foi difícil entender o que aconteceu, mas esse é um erro que ocorre muito comum quando se usa a Entity Framework de diversas versões. No meu caso, aconteceu que o framework instalado no servidor era de uma versão diferente das que eram usados no projeto, e isso causava este erro.
Assinar:
Postagens (Atom)