Olá estou fazendo o projeto manipulando algumas tarefas do trabalho que tenho q utilizar tabelas ja existentes, consegui criar e usar o metodo para salvar porem o e retorno de usuario BuscaPorId devolve o seguinte erro:
An unhandled exception of type 'System.ArgumentNullException' occurred in System.Core.dll
Additional information: Valor não pode ser nulo.
codigo do DAO:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EnityAgain.Entidades.DAO
{
class UsuarioDAO
{
private EntityContext contexto;
public UsuarioDAO()
{
contexto = new EntityContext();
}
public void SalvaUsuario(Usuario user)
{
contexto.Add(user);
contexto.SaveChanges();
}
public Usuario BuscaPorId(int id)
{
return contexto.Usuarios.FirstOrDefault(u => u.id == id);
}
}
}
codigo da entidade:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Data.Entity;
namespace EnityAgain.Entidades
{
class EntityContext :DbContext
{
public DbSet<Usuario> Usuarios { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Data Source=localhost;Initial Catalog=Projetos;Integrated Security=True");
base.OnConfiguring(optionsBuilder);
}
}
}
Codigo do Usuario (sendo que o proprio banco incrementa o ID):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EnityAgain.Entidades
{
class Usuario
{
public string nome { get; set; }
public string cpf { get; set;}
public int id { get; private set; }
public Usuario(string nome, string cpf)
{
this.nome = nome;
this.cpf = cpf;
}
}
}
codigo do main do programa:
using EnityAgain.Entidades;
using EnityAgain.Entidades.DAO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EnityAgain
{
class Program
{
static void Main(string[] args)
{
UsuarioDAO dao = new UsuarioDAO();
Usuario usuario = dao.BuscaPorId(3);
Console.ReadKey();
Console.WriteLine(usuario.nome);
}
}
}
Aguardo resposta para prosseguir com os estudo Att.