none
Inserir Dados com Linq ou Entity(Tanto faz) RRS feed

  • Pergunta

  • Nessa minha caminhada com C#, gostaria de inserir dados, alterar, mas sem estar usando aquela montueira de Insert's, poius isso quebra as regras da OO. Então resolvi aprender LINQ to SQL ou LINQ to Entity, porem em ambos os casos estou apanhando. Claro, comprei o Livro Visual Studio Passo a passo(Do John Sharp), mas chegou um ponto que ficou meio confuso. Recorri à net e a vocês. Quando eu uso a classe DataContext, consigo até passar uma conexão, porem não consigo, passar uma variável que está nas classes de entidade e assim dar um Submit nela. Se tento um Entity mais ou menos,rs, eu não consigo(não sei fazer) passar uma conexão. Vou tentar exemplificar, postando o código. Sei que tem coisa(s) errada(s) aí, só gostaria de uma direção de vocês. Usaundo a Classe de entidade com a variável MSE, não consigo passar uma conexão e nem dizer quem eu quero gravar(nesse caso a variável gestor que tem os dados a serem gravados)

    public class InserirBD
        {
            ConexaoBD conexao = new ConexaoBD();
    
            public void InserirGestor( string nm_gestor )
            {
                MedicalServiceDataContext db = new MedicalServiceDataContext(conexao.Conexao());
                MedicalServiceEntities mse = new MedicalServiceEntities();
                ObjectQuery<TB_GESTOR> tbgestor = mse.TB_GESTOR;
    
                //var nomeGestor = from g in ms.TB_GESTOR
                //                 select g.NOME_GESTOR;
    
                TBGestor gestor = new TBGestor();
                {
                    gestor.NOME_GESTOR = nm_gestor;
                };
    
                try
                {
                    mse.SaveChanges();
    
                    //db.Gestor.InsertOnSubmit(gestor);
                    //db.SubmitChanges();
                }
                finally
                { }
            }
    Como eu resolvo esse problema? Chega um momento que trava tudo.
    
    quarta-feira, 9 de janeiro de 2013 13:00

Respostas

  • Resolvi assim:

    public void InserirGestor( string nm_gestor )
            {
                using(MedicalServiceEntities mse = new MedicalServiceEntities())
                {
                    TB_GESTOR tg = new TB_GESTOR();
                    tg.NOME_GESTOR = nm_gestor;
                    mse.TB_GESTOR.AddObject(tg);
                    mse.SaveChanges();
                }

    
    • Sugerido como Resposta Guilherme MA quarta-feira, 9 de janeiro de 2013 18:36
    • Marcado como Resposta pnet quarta-feira, 9 de janeiro de 2013 18:51
    quarta-feira, 9 de janeiro de 2013 13:30

Todas as Respostas

  • Resolvi assim:

    public void InserirGestor( string nm_gestor )
            {
                using(MedicalServiceEntities mse = new MedicalServiceEntities())
                {
                    TB_GESTOR tg = new TB_GESTOR();
                    tg.NOME_GESTOR = nm_gestor;
                    mse.TB_GESTOR.AddObject(tg);
                    mse.SaveChanges();
                }

    
    • Sugerido como Resposta Guilherme MA quarta-feira, 9 de janeiro de 2013 18:36
    • Marcado como Resposta pnet quarta-feira, 9 de janeiro de 2013 18:51
    quarta-feira, 9 de janeiro de 2013 13:30
  • Não esqueça de finalizar o tópico.
    quarta-feira, 9 de janeiro de 2013 16:09
  • Achei muito legal o Entity e eu só estou começando. Acabou aquele monte de Insert e etc... Dessa forma, eu escrevo uns 10 métodos ou mais em um único dia. A pior parte como sempre, é criar a Interface, tem sempre um pau no CSS, no HTML ou no alinhamento dos controles. Se não fosse isso, pesquisar, inserir ou qualquer outra coisa relativo a BD, é bem produtivo usando o Entity. Gostei. E o código fica extremamente limpo, sem aqueles Inserts e etc...
    quarta-feira, 9 de janeiro de 2013 18:51