2
respostas

Se a tabela já existe (SQL), preciso criar o migration?

Galera, estou começando com o Entity. Desculpa a duvida "besta". Criei a tabela usuario normalmente. Tudo certo. Agora gostaria de acessar (incluir dados em uma base) que já existe. Criei ela fora do VS. Basicamente a mesma coisa que a tabela de usuário, só adicionei um campo null. To fazendo isso para "testar" quando já temos uma base e só precisamos acessar. Criei a classe uses

    public class users
    {
        public int Id { get; set; }
        public string nome { get; set; }
        public int idade { get; set; }
        public int gender { get; set; }
        public string postalcode { get; set; }
    }

no Contexto, criei:

        public DbSet<usuario> usuarios {get; set;}
        public DbSet<users> users { get; set; }

no programa, criei:

            contexto contexto = new contexto();
            users lucas = new users()
            {
                nome = "lucas R Almeida",
                idade = 26,
                postalcode = null,
                gender = 1
            };
            contexto.users.Add(lucas);
            contexto.SaveChanges();
            contexto.Dispose();

O migration dessa tabela nova, nao tem nada no UP e no DOWN. Mas ao meu entendimento esta certo, uma vez que nao foi criada pelo VS. Apenas dei um update data base.

Quando rodo o código, dá erro no save (igual no video que fala que o erro é pq a tabela não existe).

To vendo uns foruns e umas apostilas, mas nao consegui pegar o "erro". Alguém sabe?

2 respostas

Lucas,

Está dando erro quando você executa o add-migration ou quando executa o update-database?

Na vdd, nao dá erro nesses comandos. Eles funcionam normalmente.

Quando dou um Add-Migration, ele cria o arquivo sem nada dentro do UP e do DOWN. (( mas faz sentido uma vez que a tabela já existe no banco. )) o update tbm funciona. Normal.

Tipo, adicionei o banco no meu projeto e criei a tabela de usuário. Fiz o acesso e testei. tudo certo.

Ai criei uma tabela no banco sem o add e update. Como se fosse um banco que já existisse. Tipo, eu possuo o cadastro de clientes, mas preciso acessar outra base para pegar outras informacoes. Adicionei normalmente, a string de conexao esta 'ok' (eh a mesma string da tabela de usuarios). Mas quando dou um savechanges na tabela que criei sem o add-migration e update, dá erro. :(

Não sei se consegui explicar. rs