Inserir dados com LINQ to SQL

02/01/2013

0

Pessoal, fiz esse código e não sei o que devo colocar após o DB no try e nem sei está correto o que eu estou fazendo.

public bool InserirUsuario(string nomeUsuario,string emailUsuario,string codigoAcesso,string tipoUsuario,int idGestor)
{
DataContext db = new DataContext(conexao.Conexao());
TBUsuario usuario = new TBUsuario();
{
usuario.NOME_USUARIO = nomeUsuario;
usuario.EMAIL_USUARIO = emailUsuario;
usuario.CODIGO_ACESSO = codigoAcesso;
usuario.TIPO_USUARIO = tipoUsuario;
usuario.ID_GESTOR = idGestor;
};

try
{
db.O QUE EU COLOCO AQUI.InsertOnSubmit(usuario);
db.SubmitChanges();
}
finally
{ }

return true;
}
Pjava

Pjava

Responder

Posts

02/01/2013

Robson Alves

Existem algumas coisas que você esqueceu, como a instância da tabela além do context;

Segue um exemplo do Marcoratti:

[url]http://www.macoratti.net/10/05/c_ulinq.htm[/url]
Responder

02/01/2013

Robson Alves

A solução feita por ele é legal.
Mas você pode reutilizar grande parte do código utilizando Generics.

Depois que você entender bem o conceito do Linq to SQL, veja:

http://www.c-sharpcorner.com/uploadfile/scottlysle/generic-data-access-using-linq-to-sql-and-C-Sharp/
Responder

03/01/2013

Pjava

Eu estou estudando o livro Visual C# 2010 de John Sharp. Bem, criei a minha classe de Contexto assim:
......
namespace MedicalService
{
public class MedicalService: DataContext
{
public Table<TBUsuario> Usuarios;
public Table<TBAgenda> Agendas;
public Table<TBAgendamento> Agendamentos;
public Table<TBClinica> Clinicas;
public Table<TBEnderecoClinica> EnderecoClinicas;
public Table<TBEspecialidade> Especialidades;
public Table<TBEspecialidadeMedico> EspecialidadeMedico;
public Table<TBFuncao> Funcao;
public Table<TBGestor> Gestor;
public Table<TBPaciente> Paciente;
public Table<TBSetor> Setor;
public Table<TBStaff> Staff;
public Table<TBUf> Uf;

public MedicalService(string connectionInfo)
: base(connectionInfo)
{ }

}
}

Bem, após criar a classe DataContext, conforme acima, continua não aceitando a variável Usuarios, no me DB(Minha variável de Contexto), assim:
public bool InserirUsuario(string nomeUsuario,string emailUsuario,string codigoAcesso,string tipoUsuario,int idGestor)
{
MedicalServiceDataContext db = new MedicalServiceDataContext(conexao.Conexao());
TBUsuario usuario = new TBUsuario();
{
usuario.NOME_USUARIO = nomeUsuario;
usuario.EMAIL_USUARIO = emailUsuario;
usuario.CODIGO_ACESSO = codigoAcesso;
usuario.TIPO_USUARIO = tipoUsuario;
usuario.ID_GESTOR = idGestor;
};

try
{
db.Usuarios.InsertOnSubmit(usuario);//DÁ O ERRO EM Usuarios, MAS ELE EXISTE NA CLASSE DE CONTEXTO
db.SubmitChanges();
}
finally
{ }

return true;
}
Como eu resolvo isso?
Responder

03/01/2013

Robson Alves

Qual é erro?
Responder

03/01/2013

Rômulo Costa

Verificou se o ID do usuario esta com identity na tabela ??
Responder

03/01/2013

Pjava

O erro é esse:

MedicalService.MedicalServiceDataContext' does not contain a definition for 'Usuarios' and no extension method 'Usuarios' accepting a first argument of type 'MedicalService.MedicalServiceDataContext' could be found (are you missing a using directive or an assembly reference?) D:\Projetos\MedicalService\MedicalService\BD\InserirBD.cs
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar