public Cavaleiro Buscar(int id) { using (var db = new ContextoDeDados()) { return(db.Cavaleiro.Find(id)); } }
public void Atualizar(Cavaleiro cavaleiro) { /* * Para fazermos uma conexão com o banco via EF, precisamos * instanciar um objeto do mesmo tipo de nosso DbContext, que no nosso * caso é o ContextoDeDados. */ using (var db = new ContextoDeDados()) { // Atualizamos o estado de todos os objetos envolvidos em relacionamentos com Cavaleiro. // Caso Id seja diferente de 0, é atualizado. Caso seja 0, é inserido. db.Entry <Local>(cavaleiro.LocalNascimento).State = cavaleiro.LocalNascimento.Id == default(int) ? EntityState.Added : EntityState.Modified; db.Entry <Local>(cavaleiro.LocalTreinamento).State = cavaleiro.LocalTreinamento.Id == default(int) ? EntityState.Added : EntityState.Modified; foreach (var golpe in cavaleiro.Golpes) { db.Entry <Golpe>(golpe).State = golpe.Id == default(int) ? EntityState.Added : EntityState.Modified; } foreach (var imagem in cavaleiro.Imagens) { db.Entry <Imagem>(imagem).State = imagem.Id == default(int) ? EntityState.Added : EntityState.Modified; } db.Entry <Cavaleiro>(cavaleiro).State = EntityState.Modified; db.SaveChanges(); } }
public IEnumerable <Cavaleiro> Todos() { using (var db = new ContextoDeDados()) { //TODO: paginar return(db.Cavaleiro.ToList()); } }
public void CriarUsuario(Usuario usuario) { using (var db = new ContextoDeDados()) { db.Entry <Usuario>(usuario).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); } }
public int Adicionar(Cavaleiro cavaleiro) { using (var db = new ContextoDeDados()) { /* * Para informarmos um INSERT, devemos setar o State como Added. */ db.Entry <Cavaleiro>(cavaleiro).State = EntityState.Added; db.SaveChanges(); return(cavaleiro.Id); } }
private IQueryable <Cavaleiro> CavaleiroComSeusRelacionamentos(ContextoDeDados db) { /* * Estamos utilizando Include para fazer o "Eager Load" * dos relacionamentos, e poder deletá-los em cascata. */ return(db.Cavaleiro .Include(_ => _.Golpes) .Include(_ => _.Imagens) .Include(_ => _.LocalNascimento) .Include(_ => _.LocalTreinamento)); }
public void Excluir(int id) { using (var db = new ContextoDeDados()) { /* * Para realizar um DELETE no banco de dados, * infelizmente precisamos buscar o objeto no banco para então * removê-lo. */ Cavaleiro cavaleiroASerExcluido = db.Cavaleiro.Find(id); db.Entry <Cavaleiro>(cavaleiroASerExcluido).State = EntityState.Deleted; db.SaveChanges(); } }
public IEnumerable <Cavaleiro> Todos(int tamanhoPagina, int pagina) { /* * Sobre o Skip, assumamos tamanho = 5 * skip(1) = tamanho * (1-1) = 0 * skip(2) = tamanho * (2-1) = 5 * skip(3) = tamanho * (3-1) = 10 * skip(4) = tamanho * (4-1) = 15 */ using (var db = new ContextoDeDados()) return(CavaleiroComSeusRelacionamentos(db) .OrderBy(_ => _.Nome) .Skip(tamanhoPagina * (pagina - 1)) .Take(tamanhoPagina) .ToList()); }
public Usuario BuscarUsuarioPorAutenticacao(string email, string senha) { using (var db = new ContextoDeDados()) { /* * Neste caso, o usuário possui uma lista de permissões. * Essa lista de permissões é uma tabela no banco também. * Podemos, através do include, dizer que, além de carregar os dados * do usuário, deve trazer carregados as permissões dele. */ Usuario usuario = db.Usuario.Include("Permissoes").FirstOrDefault( u => u.Email.Equals(email) && u.Senha.Equals(senha)); return(usuario); } }
public void Excluir(int id) { using (var db = new ContextoDeDados()) { /* * Para realizar um DELETE no banco de dados, * infelizmente precisamos buscar o objeto no banco para então * removê-lo. */ var cavaleiroASerExcluido = db.Cavaleiro.Find(id); var localNascimento = db.Cavaleiro.Include(_ => _.LocalNascimento).Single(_ => _.Id == id).LocalNascimento; var localTreinamento = db.Cavaleiro.Include(_ => _.LocalTreinamento).Single(_ => _.Id == id).LocalTreinamento; // devido à FK partindo de cavaleiro para local primeiro removemos cavaleiro db.Cavaleiro.Remove(cavaleiroASerExcluido); db.Local.Remove(localNascimento); db.Local.Remove(localTreinamento); db.SaveChanges(); } }
public void Atualizar(Cavaleiro pedido) { /* * Para fazermos uma conexão com o banco via EF, precisamos * instanciar um objeto do mesmo tipo de nosso DbContext, que no nosso * caso é o ContextoDeDados. */ using (var db = new ContextoDeDados()) { /* * Existem várias formas de fazer um Update de uma entidade. * Um deles é utilizando o método Entry, na qual você informa o tipo * de objeto que será feito o update (<Pedido>), passa o objeto * como parâmetro em seguida seta o stado deste objeto no banco de dados. * O EF irá saber que deve fazer um Update quando o estado for EntityState.Modified. * * Em seguida chamaremos o método .SaveChanges(), que irá definitivamente * executar a query no banco de dados. */ db.Entry <Cavaleiro>(pedido).State = EntityState.Modified; db.SaveChanges(); } }
public int TotalCavaleiros() { using (var db = new ContextoDeDados()) return(db.Cavaleiro.Count()); }
public Cavaleiro Buscar(int id) { using (var db = new ContextoDeDados()) return(CavaleiroComSeusRelacionamentos(db).SingleOrDefault(_ => _.Id == id)); }