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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar