static void Main(string[] args) { var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseLazyLoadingProxies(); optionsBuilder.UseMySql("Server=DESKTOP-E9PE89C;userid='leo';password=123;database=SwitchDB;", m => m.MigrationsAssembly("Switch.Infra.Data").MaxBatchSize(1000)); optionsBuilder.EnableSensitiveDataLogging(); try { using (var dbcontext = new SwitchContext(optionsBuilder.Options)) { dbcontext.GetService <ILoggerFactory>().AddProvider(new Logger()); var usuarioNovoLeo = dbcontext.Usuarios.FirstOrDefault(u => u.Nome == "usuarioNovoLeo"); var instuicaoEnsino = new InstituicaoEnsino() { Nome = "Faculdate Bilogia" }; usuarioNovoLeo.InstituicoesEnsino.Add(instuicaoEnsino); dbcontext.SaveChanges(); } } catch (Exception ex) { Console.WriteLine("Erro: " + ex.Message); Console.ReadKey(); } //Console.WriteLine("Ok!"); Console.ReadKey(); }
static void Main(string[] args) { var usuario = new Usuario() { Nome = "Paulo", SobreNome = "Feitor", Senha = "123", Email = "*****@*****.**", DataNascimento = DateTime.Now, Sexo = Switch.Domain.Enums.SexoEnum.Masculino, UrlFoto = @"c:\temp" }; var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseLazyLoadingProxies(); optionsBuilder.UseMySql("Server=localhost;userid=root;password=mysql;database=SwitchDB;", m => m.MigrationsAssembly("Switch.Infra.Data").MaxBatchSize(1000)); try { using (var dbcontext = new SwitchContext(optionsBuilder.Options)) { dbcontext.GetService <ILoggerFactory>().AddProvider(new Logger()); dbcontext.Usuarios.Add(usuario); dbcontext.SaveChanges(); } }catch (Exception ex) { Console.WriteLine(ex.Message); Console.ReadKey(); } Console.WriteLine("OK!"); Console.ReadKey(); }
static void Main(string[] args) { Usuario usuario = NovoUsuario("3"); var optionBuilder = new DbContextOptionsBuilder <SwitchContext>().EnableSensitiveDataLogging(); optionBuilder.UseLazyLoadingProxies(); optionBuilder .UseMySql("Server=localhost;userid=root;Database=SwitchDB", m => m.MigrationsAssembly("Switch.Infra.Data")); try { using (var contexto = new SwitchContext(optionBuilder.Options)) { contexto.GetService <ILoggerFactory>().AddProvider(new Logger()); var resultado = contexto.Usuarios.ToList(); //Console.WriteLine("Usuário add com sucesso!"); Console.ReadKey(); } } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadKey(); } }
static void Main(string[] args) { Usuario usuario1; Usuario usuario2; Usuario usuario3; Usuario usuario4; Usuario usuario5; Usuario usuario6; Usuario CriarUsuario(string nome) { return(new Usuario() { Nome = "Usuario1", SobreNome = "SobreNomeUsuario1", Senha = "123456", Email = "*****@*****.**", DataNascimento = DateTime.Now, Sexo = Switch.Domain.Enums.SexoEnum.Masculino, UrlFoto = @"C:\temp" }); } usuario1 = CriarUsuario("usuario1"); usuario2 = CriarUsuario("usuario2"); usuario3 = CriarUsuario("usuario3"); usuario4 = CriarUsuario("usuario4"); usuario5 = CriarUsuario("usuario5"); usuario6 = CriarUsuario("usuario6"); List <Usuario> usuarios = new List <Usuario>() { usuario1, usuario2, usuario3, usuario4, usuario5, usuario6 }; var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseLazyLoadingProxies(); optionsBuilder.UseMySql("Server=localhost;userid=root;password=NsaentndbtdM2019**;database=SwitchDB;", m => m.MigrationsAssembly("Switch.Infra.Data")); try { using (var dbcontext = new SwitchContext(optionsBuilder.Options)) { dbcontext.GetService <ILoggerFactory>().AddProvider(new Logger()); dbcontext.Usuarios.AddRange(usuarios); dbcontext.SaveChanges(); } } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadKey(); } Console.WriteLine("Salvo com sucesso!"); Console.ReadKey(); }
static void SetUser() { Usuario usuario1; Usuario usuario2; Usuario usuario3; Usuario usuario4; Usuario usuario5; Usuario usuario6; Usuario CriarUsuario(string nome) { return(new Usuario() { Nome = "Usuario 1", SobreNome = "SobreNomeUsuario", Email = "*****@*****.**", Senha = "123", Sexo = Switch.Domain.Enums.SexoEnum.Masculino, DataNascimento = DateTime.Now, UrlFoto = "teste" }); } usuario1 = CriarUsuario("usuario1"); usuario2 = CriarUsuario("usuario2"); usuario3 = CriarUsuario("usuario3"); usuario4 = CriarUsuario("usuario4"); usuario5 = CriarUsuario("usuario5"); usuario6 = CriarUsuario("usuario6"); var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseSqlServer(conn, m => m.MigrationsAssembly("Switch.Infra.Data")); try { using (var dbcontext = new SwitchContext(optionsBuilder.Options)) { // carrega o logger da transação solicitada dbcontext.GetService <ILoggerFactory>().AddProvider(new Logger()); dbcontext.Usuarios.AddRange(usuario1, usuario2, usuario3, usuario4); ////dbcontext.Usuarios.Add(usuario1); dbcontext.SaveChanges(); } } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("Ok!"); }
static void Main(string[] args) { Usuario usuario1; Usuario usuario2; Usuario usuario3; Usuario usuario4; Usuario usuario5; Usuario usuario6; Usuario CriaUsuario(string Nome) { return(new Usuario() { Nome = Nome, SobreNome = "Usuario", Email = "*****@*****.**", Senha = "Senha", Sexo = SexoEnum.Maculino, DataNascimento = DateTime.Parse("17/10/1986"), UrlFoto = "saass" }); } usuario1 = CriaUsuario("usuario1"); usuario2 = CriaUsuario("usuario2"); usuario3 = CriaUsuario("usuario3"); usuario4 = CriaUsuario("usuario4"); usuario5 = CriaUsuario("usuario5"); usuario6 = CriaUsuario("usuario6"); var optionsBulder = new DbContextOptionsBuilder <SwitchContext>(); optionsBulder.UseLazyLoadingProxies(); optionsBulder.EnableSensitiveDataLogging(); optionsBulder.UseNpgsql("Server=localhost; userid=postgres; password=discovoador;database=SwitchDB;", m => m.MigrationsAssembly("Switch.Infra.Data").MaxBatchSize(1000) ); try { using (var dbcontext = new SwitchContext(optionsBulder.Options)) { dbcontext.GetService <ILoggerFactory>().AddProvider(new Logger()); } } catch (Exception erro) { Console.WriteLine(erro.Message); Console.ReadKey(); } }
static void Main(string[] args) { var usuario = new Usuario() { Nome = "Ronaldo", SobreNome = "Souza", Email = "*****@*****.**", DataNascimento = DateTime.Now, Sexo = Switch.Domain.Enums.SexoEnum.Masculino, Senha = "vacaloca171" }; //var localTrabalho = new LocalTrabalho() //{ // Nome = "SKY", // DataAdmissao = DateTime.Now.AddYears(3), // EmpresaAtual = true, // UsuarioId=1 //}; var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseLazyLoadingProxies(); optionsBuilder.UseMySql("Server=localhost;userid=root;password=vacaloca171;database=SwitchDB", a => a.MigrationsAssembly("Switch.Infra.Data")); try { using (var dbcontexto = new SwitchContext(optionsBuilder.Options)) { //log dbcontexto.GetService <ILoggerFactory>().AddProvider(new Logger()); dbcontexto.Usuarios.Where(o => o.Nome == "bira").ToList(); dbcontexto.Usuarios.Add(usuario); dbcontexto.SaveChanges(); } } catch (Exception ex) { string erro = ex.Message; } Console.ReadLine(); }
static void Main(string[] args) { List <Usuario> listaUsuario = new List <Usuario>(); Usuario CriarUsuario(string nome) { return(new Usuario() { Nome = "Usuario3", SobreNome = "SobreUsuario", Senha = "1234", Email = "*****@*****.**", DataNascimento = DateTime.Now, Sexo = SexoEnum.Masculino, UrlFoto = "asdasdghasgdjhasgd" }); } for (int i = 1; i <= 10; i++) { listaUsuario.Add(CriarUsuario($"Usuario{i}")); } var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseLazyLoadingProxies(); optionsBuilder.UseMySql("Server=localhost;userid=root;password=1234;database=SwitchDB", m => m.MigrationsAssembly("Switch.Infra.Data")); try { using (var db = new SwitchContext(optionsBuilder.Options)) { db.GetService <ILoggerFactory>().AddProvider(new Logger()); db.Usuarios.AddRange(listaUsuario); db.SaveChanges(); } Console.WriteLine("OK"); } catch (Exception ex) { Console.WriteLine("Erro", ex.Message); } Console.ReadKey(); }
static void Linq() { var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseSqlServer(conn, m => m.MigrationsAssembly("Switch.Infra.Data")); try { using (var dbcontext = new SwitchContext(optionsBuilder.Options)) { // carrega o logger da transação solicitada dbcontext.GetService <ILoggerFactory>().AddProvider(new Logger()); //var user = dbcontext.Usuarios.ToList(); var user = dbcontext.Usuarios.Where(u => u.Nome == "Usuario 1"); //var usuarios = (from u in dbcontext.Usuarios // select u).ToList(); //var user1 = (from u in dbcontext.Usuarios // where u.Nome == "Usuario 1" // select u).ToList(); // first = primeiro item de uma relação // ideais para quando existe dados duplicados no banco, ai vc traz o primeiro // firstordefault = me devolve o primeiro elemento na base ou me retorna nulo // single = procura se existe uma unica ocorrencia do parâmetro informado // pode disparar um erro se encontrar registros duplicados // last = é o oposto do first... pode ter impacto na performance // find = pesquina na base caso saiba o Id } } catch (Exception e) { Console.WriteLine(e.Message); } }
static void Pk() { var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseSqlServer(conn, m => m.MigrationsAssembly("Switch.Infra.Data")); try { using (var dbcontext = new SwitchContext(optionsBuilder.Options)) { // carrega o logger da transação solicitada dbcontext.GetService <ILoggerFactory>().AddProvider(new Logger()); //var user = CriarUsuario("userFilipe"); //Console.WriteLine($"Id do novo usuario = {user.Id}"); //Console.ReadKey(); //dbcontext.Usuarios.Add(user); //Console.WriteLine($"Id do novo usuario = {user.Id}"); //Console.ReadKey(); //dbcontext.SaveChanges(); //Console.WriteLine($"Id do novo usuario = {user.Id}"); //Console.ReadKey(); var user = dbcontext.Usuarios.FirstOrDefault(u => u.Nome == "userFilipe"); user.Senha = "abc123"; // realiza o update em todas as tabelas da entidade dbcontext.Update <Usuario>(user); dbcontext.SaveChanges(); } } catch (Exception e) { Console.WriteLine(e.Message); } }
static void Main(string[] args) { var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseLazyLoadingProxies(); optionsBuilder.UseMySql("Server=localhost; port=3306; database=SwitchDB; uid=root; password=1234567@", m => m.MigrationsAssembly("Switch.Infra.Data").MaxBatchSize(1000)); Usuario usuario1; Usuario usuario2; Usuario usuario3; Usuario usuario4; Usuario usuario5; Usuario usuario6; usuario1 = CriarUsuario("usuario1"); usuario2 = CriarUsuario("usuario2"); usuario3 = CriarUsuario("usuario3"); usuario4 = CriarUsuario("usuario4"); usuario5 = CriarUsuario("usuario5"); usuario6 = CriarUsuario("usuario6"); List <Usuario> usuarios = new List <Usuario>() { usuario1, usuario2, usuario3, usuario4, usuario5, usuario6 }; Usuario CriarUsuario(string nome) { return(new Usuario() { Nome = "Paty", Sobrenome = "Nunes", Senha = "12345678@", Email = "*****@*****.**", DataNascimento = DateTime.Now, Sexo = Switch.Domain.Enums.SexoEnum.Masculino, UrlFoto = @"/c:" }); } try { using (var dbcontext = new SwitchContext(optionsBuilder.Options)) { dbcontext.GetService <ILoggerFactory>().AddProvider(new Logger()); dbcontext.Usuarios.AddRange(usuarios); //dbcontext.Usuarios.Add(usuario1); //dbcontext.Usuarios.Add(usuario2); //dbcontext.Usuarios.Add(usuario3); //dbcontext.Usuarios.Add(usuario4); //dbcontext.Usuarios.Add(usuario5); //dbcontext.Usuarios.Add(usuario6); //dbcontext.Usuarios.AddRange(usuario1, usuario2, usuario3, usuario4); dbcontext.SaveChanges(); } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.ReadKey(); } Console.WriteLine("OK!"); Console.ReadKey(); }
static void Main(string[] args) { //Console.WriteLine("Hello World!"); Usuario usuario1; Usuario usuario2; Usuario usuario3; Usuario usuario4; Usuario usuario5; Usuario usuario6; usuario1 = CriarUsuario("usuario 1"); usuario2 = CriarUsuario("usuario 2"); usuario3 = CriarUsuario("usuario 3"); usuario4 = CriarUsuario("usuario 4"); usuario5 = CriarUsuario("usuario 5"); usuario6 = CriarUsuario("usuario 6"); //exemplo usando lista List <Usuario> listaUsuarios = new List <Usuario>() { usuario1, usuario2, usuario3, usuario4, usuario5, usuario6 }; var optionsBuilder = new DbContextOptionsBuilder <SwitchContext>(); optionsBuilder.UseLazyLoadingProxies(); optionsBuilder.UseMySql("Server=localhost;userid=root;password=;database=SwitchDB", m => m.MigrationsAssembly("Switch.Infra.Data").MaxBatchSize(100)); try { //using descarta da memoria, desde que a classe em uso implemente a interface IDispose using (var dbcontext = new SwitchContext(optionsBuilder.Options)) { dbcontext.GetService <ILoggerFactory>().AddProvider(new Logger()); //executa em batch, somente acima de 3 registros //o EF em uma unica transação adiciona na base de dados //Forma simples //dbcontext.Usuarios.Add(usuario1); //dbcontext.Usuarios.Add(usuario2); //dbcontext.Usuarios.Add(usuario3); //dbcontext.Usuarios.Add(usuario4); //dbcontext.Usuarios.Add(usuario5); //dbcontext.Usuarios.Add(usuario6); //de outra forma, usando uma lista de objetos //dbcontext.Usuarios.AddRange(listaUsuarios); //salva todas as alterações na base de dados //dbcontext.SaveChanges(); //consultas a base de dados //exemplos ////carrega tudo o que tem na base //var resultado = dbcontext.Usuarios.ToList(); ////filtro por nome //var resultado2 = dbcontext.Usuarios.Where(u => u.Nome == "usuario1"); ////evitar usar assim, isso traz impacto na performance //foreach(var us in resultado2)//abre conexao //{ // //aqui poderia ter alguns metodos simples //}//fecha conexao ////filtro por nome //var resultado3 = dbcontext.Usuarios.Where(u => u.Nome == "usuario1").ToList(); ////para abrir e fechar conexão, chamar o método ToList() ////para que armaze o resultado da consulta na memória /// //var usuarioNovo = CriarUsuario("usuarioNovo1"); //dbcontext.Usuarios.Add(usuarioNovo); //dbcontext.SaveChanges(); //var usuarioRetorno = dbcontext.Usuarios.Where(u => u.Nome == "usuarioNovo1").ToList(); //var usuario123 = CriarUsuario("usuario123"); //var usuario124 = CriarUsuario("usuario123"); //dbcontext.Usuarios.Add(usuario123); //dbcontext.Usuarios.Add(usuario124); //dbcontext.SaveChanges(); // var totalUser = dbcontext.Usuarios.Count(u => u.Nome == "usuario123"); //REMOVENDO DA BASE DE DADOS //exemplo 1, usa o cache //var usuario = dbcontext.Usuarios.FirstOrDefault(u => u.Nome == "usuario123"); //dbcontext.Usuarios.Remove(usuario); //dbcontext.SaveChanges(); //exemplo 2, remove diretamente na base //var usuario = dbcontext.Usuarios.FirstOrDefault(u => u.Nome == "usuario123"); //dbcontext.Remove<Usuario>(usuario); //dbcontext.SaveChanges(); //totalUser = dbcontext.Usuarios.Count(u => u.Nome == "usuario123"); ///ATUALIZANDO DADOS //var userWillian = CriarUsuario("userWillian"); //Console.WriteLine("Id do userWillian = " + userWillian.Id); //Console.ReadKey(); //dbcontext.Usuarios.Add(userWillian); //Console.WriteLine("Id do userWillian = " + userWillian.Id); //Console.ReadKey(); //dbcontext.SaveChanges(); //Console.WriteLine("Id do userWillian = " + userWillian.Id); //Console.ReadKey(); // var userWillian = dbcontext.Usuarios.FirstOrDefault(u => u.Nome == "userWillian"); // userWillian.Senha = "1234567321"; //exemplo2 atualiza todos os campos da tabela, pode ser menos performatico //dbcontext.Update<Usuario>(userWillian); //exemplo 1, salva as alteracos na base de forma simples //neste caso apenas monta o SQL para atualizar o campo SENHA //se a senha for a mesma nao será feito um novo SQL //dbcontext.SaveChanges(); //MUDANÇAS DE ESTADO NA CONEXÃO //dbcontext.Database.GetDbConnection().StateChange += program_StateChange; //var usuarioss = dbcontext.Usuarios.ToList(); //var inst = dbcontext.InstituicoesEnsino.ToList(); //CARREGAMENTO ANSIOSO - EAGER LOADING //carrega todas as informações de um objeto ao ser referenciada e coloca na memoria, pode ser lento //referencia as inst.de ensino e carrega ao mesmo tempo todos os usuarios para cada instituicao de ensino //var instituicao2 = dbcontext.InstituicoesEnsino.Include(i => i.Usuario).FirstOrDefault(); //var usuario12 = instituicao2.Usuario; //LAZY LOADING - CARREGAMENTO PREGUISO, POR DEMANDA //var us1 = dbcontext.Usuarios.FirstOrDefault(); //var inst1 = us1.InstituicoesEnsino; //ADICIONAR INSTANCIA RELACIONADA //var helena = CriarUsuario("Helena"); //helena.InstituicoesEnsino.Add(new InstituicaoEnsino() { Nome = "Esucri" }); //helena.Identificacao = new Identificacao() { Numero = "123456789" }; //dbcontext.Usuarios.Add(helena); //dbcontext.SaveChanges(); //var userHelena = dbcontext.Usuarios.FirstOrDefault(u => u.Nome == "Helena"); //ATUALIZAR INSTANCIA RELACIONADA //var helena = dbcontext.Usuarios.FirstOrDefault(u => u.Nome == "Helena"); ////helena.InstituicoesEnsino.Add(new InstituicaoEnsino() { Nome = "UNESC" }); ////helena.InstituicoesEnsino.Add(new InstituicaoEnsino() { Nome = "SATC" }); ////dbcontext.SaveChanges(); //var ie = helena.InstituicoesEnsino.FirstOrDefault(i => i.Nome == "UNESC"); //ie.Nome = "CEDUP"; //dbcontext.SaveChanges(); //REMOVER ITEM DENTRO DE INSTANCIA RELACIONADA //var helena = dbcontext.Usuarios.FirstOrDefault(u => u.Nome == "Helena"); //var ie = helena.InstituicoesEnsino.FirstOrDefault(i => i.Nome == "CEDUP"); //helena.InstituicoesEnsino.Remove(ie); //dbcontext.SaveChanges(); //EXECUTANDO SQL NO EFCore COM PROJEÇÃO //////var sql = "SELECT nome, sobrenome FROM usuarios"; ////////obtem conexao com base de dados //////var connection = dbcontext.Database.GetDbConnection(); //////var listaDeUsuarios = new List<UsuarioDTO>(); //////using (var command = connection.CreateCommand()) //////{ ////// connection.Open(); ////// //passa o SQL ////// command.CommandText = sql; ////// using (var dataReader = command.ExecuteReader()) ////// { ////// //verifica se tem linhas no dataReader ////// if(dataReader.HasRows) ////// { ////// while(dataReader.Read()) ////// { ////// //otendo dados de cada linha ////// var userDTO = new UsuarioDTO(); ////// userDTO.Nome = dataReader["nome"].ToString(); ////// userDTO.Sobrenome = dataReader["sobrenome"].ToString(); ////// listaDeUsuarios.Add(userDTO); ////// } ////// } ////// } //////} /// //SQL INJECTION //exemplo de SQL Injection //var filtroPesquisa = "' or 1='1"; //var sql = "SELECT nome, sobrenome FROM usuarios WHERE nome = @nomeUsuario"; ////obtem conexao com base de dados //var connection = dbcontext.Database.GetDbConnection(); //var listaDeUsuarios = new List<UsuarioDTO>(); //using (var command = connection.CreateCommand()) //{ // connection.Open(); // //passa o SQL // command.CommandText = sql; // //parametros // MySqlParameter prm = new MySqlParameter("@nomeUsuario", MySqlDbType.VarChar); // prm.Value = filtroPesquisa; // command.Parameters.Add(prm); // using (var dataReader = command.ExecuteReader()) // { // //verifica se tem linhas no dataReader // if (dataReader.HasRows) // { // while (dataReader.Read()) // { // //otendo dados de cada linha // var userDTO = new UsuarioDTO(); // userDTO.Nome = dataReader["nome"].ToString(); // userDTO.Sobrenome = dataReader["sobrenome"].ToString(); // listaDeUsuarios.Add(userDTO); // } // } // } //} ////COMANDOS PARA CHAMAR STORE PROCEDURES ////obtem conexao com base de dados //var connection = dbcontext.Database.GetDbConnection(); //var listaDeUsuarios = new List<UsuarioDTO>(); //using (var command = connection.CreateCommand()) //{ // connection.Open(); // //chamar store procedure, ela deve existir na base de dados // command.CommandText = "call spObterTodosUsuarios()"; // using (var dataReader = command.ExecuteReader()) // { // //verifica se tem linhas no dataReader // if (dataReader.HasRows) // { // while (dataReader.Read()) // { // //otendo dados de cada linha // var userDTO = new UsuarioDTO(); // userDTO.Nome = dataReader["nome"].ToString(); // userDTO.Sobrenome = dataReader["sobrenome"].ToString(); // listaDeUsuarios.Add(userDTO); // } // } // } //} //COMANDOS PARA CHAMAR STORE PROCEDURES COM PARAMETRO ////obtem conexao com base de dados //var connection = dbcontext.Database.GetDbConnection(); //var listaDeUsuarios = new List<UsuarioDTO>(); //using (var command = connection.CreateCommand()) //{ // connection.Open(); // //chamar store procedure, ela deve existir na base de dados // command.CommandText = "call spObterUsuario(@usuarioID)"; // MySqlParameter prm = new MySqlParameter("@usuarioID", MySqlDbType.Int32); // prm.Value = 38; // command.Parameters.Add(prm); // using (var dataReader = command.ExecuteReader()) // { // //verifica se tem linhas no dataReader // if (dataReader.HasRows) // { // while (dataReader.Read()) // { // //otendo dados de cada linha // var userDTO = new UsuarioDTO(); // userDTO.Nome = dataReader["nome"].ToString(); // userDTO.Sobrenome = dataReader["sobrenome"].ToString(); // listaDeUsuarios.Add(userDTO); // } // } // } //} //PROJEÇÃO DE CONSULTA SQL COM STORE PROCEDURES //obtem conexao com base de dados var connection = dbcontext.Database.GetDbConnection(); var listaUsuariosInstituicaoEnsino = new List <UsuarioInstituicaoEnsinoDTO>(); using (var command = connection.CreateCommand()) { connection.Open(); //chamar store procedure, ela deve existir na base de dados command.CommandText = "call spObterUsuariosPorInstituicoes"; MySqlParameter prm = new MySqlParameter("@usuarioID", MySqlDbType.Int32); prm.Value = 38; command.Parameters.Add(prm); using (var dataReader = command.ExecuteReader()) { //verifica se tem linhas no dataReader if (dataReader.HasRows) { while (dataReader.Read()) { //otendo dados de cada linha //sempre colocar ["NomeUsuario"] o mesmo que sera retornado no SQL var usuarioInstituicaoEnsinoDTO = new UsuarioInstituicaoEnsinoDTO(); usuarioInstituicaoEnsinoDTO.NomeUsuario = dataReader["NomeUsuario"].ToString(); usuarioInstituicaoEnsinoDTO.SobrenomeUsuario = dataReader["SobrenomeUsuario"].ToString(); usuarioInstituicaoEnsinoDTO.NomeInstituicao = dataReader["NomeInstituicao"].ToString(); listaUsuariosInstituicaoEnsino.Add(usuarioInstituicaoEnsinoDTO); } } } } } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.ReadKey(); } //Console.WriteLine("Ok!"); //Console.ReadKey(); }